Commit Graph

1395 Commits

Author SHA1 Message Date
Fabien Potencier fbc1032fd0 Remove versionadded from docs 2024-08-08 14:47:37 +02:00
Fabien Potencier eafbee52e3 Merge branch '3.x' into 4.x
* 3.x:
  Use trigger_deprecation() instead of trigger_error() for deprecations
  Tweak docs
  clarify that macros shadow other macros/functions
2024-08-08 14:47:26 +02:00
Fabien Potencier 90fbb9acbc feature #4183 Add support for package/version on deprecations (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Add support for package/version on deprecations

Commits
-------

0ce79df5 Use trigger_deprecation() instead of trigger_error() for deprecations
2024-08-08 14:46:03 +02:00
Fabien Potencier 0ce79df5c4 Use trigger_deprecation() instead of trigger_error() for deprecations 2024-08-08 14:28:28 +02:00
Fabien Potencier 839da16d04 Tweak docs 2024-08-08 11:12:39 +02:00
Christian Flothmann e1a9448190 clarify that macros shadow other macros/functions 2024-08-08 09:25:31 +02:00
Fabien Potencier a159617f3c Merge branch '3.x' into 4.x
* 3.x:
  Add a recipe about how to mark a node as safe
  Mark ConstantExpression as @final
2024-08-07 21:02:32 +02:00
Fabien Potencier 230e31d384 Add a recipe about how to mark a node as safe 2024-08-07 21:01:18 +02:00
Fabien Potencier 2be34fc0ce Merge branch '3.x' into 4.x
* 3.x:
  Introduce ChainCache and ReadOnlyFilesystemCache
  Add a note about how macros can override existing functions
  Fix dumping callables on Node::__toString()
2024-08-07 14:41:48 +02:00
Fabien Potencier cea1714331 Add a note about how macros can override existing functions 2024-08-07 11:25:44 +02:00
Fabien Potencier 0707f16cf3 Merge branch '3.x' into 4.x
* 3.x:
  Add new "find" filter
2024-08-04 13:40:16 +02:00
Simon André 4e26251193 Add new "find" filter 2024-08-04 13:39:10 +02:00
Fabien Potencier bc11e375f6 Simplify accessing outer loop objects example 2024-07-28 10:33:30 +02:00
Fabien Potencier e19f056326 feature #4153 Add support for recursive loops (fabpot)
This PR was squashed before being merged into the 4.x branch.

Discussion
----------

Add support for recursive loops

Fixes #3416
Fixes #4144

Commits
-------

481e7f0d Prevent infinite loops
fa1a217f Add another test
036c9943 Don't unset loop when it's not defined
1b9baa76 Remove usage of the internal _parent context variable in loops
c28f68f8 Add support for Escaper and Sandbox for Generator nodes
c1933323 Simplify implementation
8c5dd39b Use loop() to recurse instead of loop.recurse()
e95d6b2f Add support for recursive loops
2024-07-28 10:21:08 +02:00
Fabien Potencier de7767814b Remove deprecate feature in docs 2024-07-28 10:14:39 +02:00
Fabien Potencier c097774d99 Remove deprecated code 2024-07-28 10:14:26 +02:00
Fabien Potencier e95d6b2f21 Add support for recursive loops 2024-07-28 10:08:35 +02:00
Fabien Potencier 69f9367573 Remove a feature from the future 2024-07-28 10:04:03 +02:00
Fabien Potencier d6add5ebde Reorganize the for tag docs 2024-07-28 10:01:20 +02:00
Fabien Potencier 3c52cd9814 feature #4148 Deprecate NameExpression internal methods (smnandre)
This PR was merged into the 3.x branch.

Discussion
----------

Deprecate NameExpression internal methods

Deprecate two methods from `Twig\Node\Expression\NameExpression`:
* `isSimple()`: did not find any usage in Twig (or even Symfony) repositories
* `isSpecial()`: inlined for better performance ($name is available in the method)

Commits
-------

3531f959 Deprecate NameExpression internal methods
2024-07-27 15:43:19 +02:00
Simon André 343fefae10 [Doc] Fix code syntax in deprecated.rst
Add missing backticks
2024-07-27 14:21:54 +02:00
Fabien Potencier 76dcc75982 Merge branch '3.x' into 4.x
* 3.x:
  Replace template loader mocks by ArrayLoader
  [Doc] Fix javascript code-block
2024-07-24 09:53:24 +02:00
Simon André 3531f959d3 Deprecate NameExpression internal methods
Deprecate two methods from NameExpression:
* isSimple(): did not find any usage in Twig (or even Symfony) repositories
* isSpecial(): inlined for better performance ($name is available in the method)
2024-07-22 01:25:30 +02:00
Simon André b0cd5dc5a8 [Doc] Fix javascript code-block
Fix code-block syntax (double space)
2024-07-21 21:05:07 +02:00
Tomas 934439ac4e Fix doc 2024-07-17 14:46:39 +03:00
Fabien Potencier 4afc66cc82 Merge branch '3.x' into 4.x
* 3.x:
  Make compatible with PHP<8
  Extract ReflectionCallable to make it reusable
  Make a small optimization
  [Doc] Fix `do` tag label in link
2024-07-14 12:17:41 +02:00
Fabien Potencier 55b414c497 Add more precise types 2024-07-12 18:05:50 +02:00
Fabien Potencier 65b4ea4394 Add loop.changed, loop.previous, loop.next, and loop.cycle variables 2024-07-12 11:13:02 +02:00
Fabien Potencier 2e8de1d110 Make loop.last always available 2024-07-11 12:08:50 +02:00
Fabien Potencier 17ef0bef4b Introduce a Loop object 2024-07-11 08:03:08 +02:00
Simon André 10deb7328c [Doc] Fix do tag label in link 2024-07-10 00:23:00 +02:00
Fabien Potencier da83393bc1 Merge branch '3.x' into 4.x
* 3.x:
  Fix markup
2024-07-09 09:14:04 +02:00
Fabien Potencier 4ae84b5bdb Merge branch '3.x' into 4.x
* 3.x:
  fix grammar for article
  [Doc] Add missing Token types
2024-07-08 15:48:57 +02:00
Fabien Potencier 1c6f44e095 Fix markup 2024-07-08 14:32:51 +02:00
Christian Flothmann d54d8438a5 fix grammar for article 2024-07-07 23:44:32 +02:00
Simon André 17f7ee34df [Doc] Add missing Token types
* Document Token::OPERATOR_TYPE
* Token::SPREAD_TYPE
2024-07-07 13:04:07 +02:00
Fabien Potencier 9acc085110 Merge branch '3.x' into 4.x
* 3.x:
  fix condition for running use_yield test with extra packages
  fix the set of installed packages for TwigExtraBundle on PHP 8.0
  simplify an iterable check
  Fixed typo
  Tweak code, tests, and docs for shuffle
  Add shuffle filter
2024-07-06 10:46:01 +02:00
Fabien Potencier 2dacaadd98 Tweak code, tests, and docs for shuffle 2024-07-05 09:39:44 +02:00
sarah-eit 17430ae5ac Add shuffle filter 2024-07-05 09:20:37 +02:00
Fabien Potencier c33386a86d Merge branch '3.x' into 4.x
* 3.x:
  Add missing reference in docs
2024-07-05 08:05:09 +02:00
Fabien Potencier b37417972c Add missing reference in docs 2024-07-05 08:05:05 +02:00
Fabien Potencier b621b4473e Remove versionadded in docs 2024-07-05 08:01:53 +02:00
Fabien Potencier 0f76a81b10 Merge branch '3.x' into 4.x
* 3.x:
  Fix tests
  Tweak code and docs
  feat(string-extra): Add singularize and pluralize filter
2024-07-05 08:00:46 +02:00
Fabien Potencier 0bbe173d29 feature #4107 [String] Add singularize and pluralize filter (welcoMattic, fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

[String] Add singularize and pluralize filter

This PR follows up this one in Symfony https://github.com/symfony/symfony/pull/57245.

It adds 2 new filters `singularize` and `pluralize`. It uses the String component, especially `EnglishInflector` and `FrenchInflector`.

Examples:

```php
{{ 'person'|pluralize('en') }} // persons
{{ 'person'|pluralize('en', false) }} // ['persons', 'people']

{{ 'personne'|pluralize('fr') }} // personnes
{{ 'personne'|pluralize('fr', false) }} // ['personnes']

{{ 'persons'|singluarize('en') }} // person
{{ 'people'|singluarize('en') }} // person
{{ 'persons'|singluarize('en', false) }} // ['person']

{{ 'personnes'|singluarize('fr') }} // personne
{{ 'personnes'|singluarize('fr', false) }} // ['personne']

{{ 'persona'|pluralize('it') }} // \InvalidArgumentException('Language "it" is not supported.')
{{ 'persone'|singluarize('it') }} // \InvalidArgumentException('Language "it" is not supported.')
```

Commits
-------

8c969d40 Tweak code and docs
cb392489 feat(string-extra): Add singularize and pluralize filter
2024-07-05 07:54:10 +02:00
Fabien Potencier 8c969d403c Tweak code and docs 2024-07-04 08:17:15 +02:00
Mathieu Santostefano cb392489c3 feat(string-extra): Add singularize and pluralize filter 2024-07-02 22:44:09 +02:00
Fabien Potencier cc7c08592d Merge branch '3.x' into 4.x
* 3.x:
  [Doc] Replace http links with https
  [Doc] Modernize Class name in examples
2024-07-02 08:11:16 +02:00
Fabien Potencier e4835b189f minor #4116 [Doc] Modernize Class name in examples (smnandre)
This PR was merged into the 3.x branch.

Discussion
----------

[Doc] Modernize Class name in examples

From "Project_Twig_Extension" to "CustomExtension"

Just a suggestion, feel free to close if you want to keep it like this :)

I found those namings only in "advanced"

Commits
-------

4a8e8ee1 [Doc] Modernize Class name in examples
2024-07-02 08:11:03 +02:00
Fabien Potencier b6360fbae3 minor #4117 [Doc] Replace http links with https (smnandre)
This PR was squashed before being merged into the 3.x branch.

Discussion
----------

[Doc] Replace http links with https

Commits
-------

ae429bd5 [Doc] Replace http links with https
2024-07-02 08:10:01 +02:00
Simon André ae429bd51d [Doc] Replace http links with https 2024-07-02 08:09:58 +02:00