Commit Graph

6749 Commits

Author SHA1 Message Date
Fabien Potencier 786a67b1a9 Add RemovableCacheInterface 2024-09-25 17:28:51 +02:00
Fabien Potencier efc527ea65 minor #4333 Optimize compiled code for "set" tag (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Optimize compiled code for "set" tag

Commits
-------

9855e35d44 Optimize compiled code for "set" tag
2024-09-24 17:04:08 +02:00
Fabien Potencier 9855e35d44 Optimize compiled code for "set" tag 2024-09-24 16:47:02 +02:00
Fabien Potencier 3930d90842 Add more tests 2024-09-24 13:28:51 +02:00
Fabien Potencier d3a0717ab0 minor #4330 Add compile-time checks for the "matches" operator (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Add compile-time checks for the "matches" operator

Commits
-------

d1beac4dfa Add compile-time checks for the "matches" operator
2024-09-23 18:11:23 +02:00
Fabien Potencier 653735fe26 minor #4331 Add return types in FileystemLoader (ruudk)
This PR was merged into the 3.x branch.

Discussion
----------

Add return types in FileystemLoader

Commits
-------

15279ca8ee Add return types in FileystemLoader
2024-09-23 18:10:44 +02:00
Ruud Kamphuis 15279ca8ee Add return types in FileystemLoader 2024-09-23 12:30:37 +02:00
Fabien Potencier d1beac4dfa Add compile-time checks for the "matches" operator 2024-09-21 10:29:51 +02:00
Fabien Potencier 49b699b25e minor #4328 Improve formatDate methods phpdoc (VincentLanglet)
This PR was merged into the 3.x branch.

Discussion
----------

Improve formatDate methods phpdoc

`convertDate`
- Supports null https://github.com/twigphp/Twig/blob/3.x/src/Extension/CoreExtension.php#L539
- Supports timestamp passed as integer https://github.com/twigphp/Twig/blob/3.x/src/Extension/CoreExtension.php#L549

So the phpdoc should not be
`\DateTimeInterface|string|null` but `\DateTimeInterface|string|int|null`

And all the date methods using `convertDate` should also accepts int and null.

This is important since some tools are developing static analysis on twig.

Commits
-------

3be417d2eb Improve date methods phpdoc
2024-09-21 09:13:04 +02:00
Fabien Potencier 3f03d2bc0a minor #4324 [Doc] Document about html and html_attr strategies (Kocal)
This PR was merged into the 3.x branch.

Discussion
----------

[Doc] Document about `html` and `html_attr` strategies

Ref #4322

Commits
-------

ac88c9ae75 [Doc] Document about `html` and `html_attr` strategies
2024-09-21 08:07:22 +02:00
Hugo Alliaume ac88c9ae75 [Doc] Document about html and html_attr strategies
Co-authored-by: Fabien Potencier <fabien@potencier.org>
2024-09-20 20:33:08 +02:00
Vincent Langlet 3be417d2eb Improve date methods phpdoc 2024-09-20 11:43:16 +02:00
Fabien Potencier 9e1b5449bf minor #4327 Fix deprecation messages (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Fix deprecation messages

Commits
-------

07b626a96f Fix deprecation messages
2024-09-19 23:14:29 +02:00
Fabien Potencier 07b626a96f Fix deprecation messages 2024-09-19 23:13:12 +02:00
Fabien Potencier 30aac6d2f2 bug #4323 Fix the handling of predefined arguments in CallExpression (stof)
This PR was merged into the 3.x branch.

Discussion
----------

Fix the handling of predefined arguments in CallExpression

Commits
-------

37fa03681e fix the handling of predefined arguments in CallExpression
2024-09-19 23:11:28 +02:00
Fabien Potencier fddf885b1b minor #4325 Use a more precise return type in AbstractTwigCallable (stof)
This PR was merged into the 3.x branch.

Discussion
----------

Use a more precise return type in AbstractTwigCallable

This method is not expected to change the type of callable.

As using it is the only way to configure arguments for a Twig callable (there is no constructor argument for them), it avoids getting static analysis errors in `Extension::getFunctions()` when using it.

Commits
-------

ebbbaf7069 Use a more precise return type in AbstractTwigCallable
2024-09-19 23:10:44 +02:00
Christophe Coevoet ebbbaf7069 Use a more precise return type in AbstractTwigCallable 2024-09-19 13:46:59 +02:00
Christophe Coevoet 37fa03681e fix the handling of predefined arguments in CallExpression 2024-09-19 11:48:28 +02:00
Fabien Potencier 70886ec75e feature #4318 Allow Twig callable arguments to use camel or snake names (fabpot)
This PR was squashed before being merged into the 3.x branch.

Discussion
----------

Allow Twig callable arguments to use camel or snake names

Closes #3475

Twig callables (functions/filters/tests) now accept snake and camel argument names independently of the name of the underlying PHP callable parameter names.

Commits
-------

52ded207d3 Allow Twig callable arguments to use camel or snake names
2024-09-18 19:19:26 +02:00
Fabien Potencier 52ded207d3 Allow Twig callable arguments to use camel or snake names 2024-09-18 19:19:20 +02:00
Fabien Potencier b8b0313db1 minor #4320 fix intl-extra tests (xabbuh)
This PR was merged into the 3.x branch.

Discussion
----------

fix intl-extra tests

The Caribbean guilder was added in symfony/symfony#58183.

Commits
-------

c5486b07b9 fix intl-extra tests
2024-09-16 12:40:32 +02:00
Christian Flothmann c5486b07b9 fix intl-extra tests 2024-09-16 12:21:35 +02:00
Fabien Potencier c4ab91f6ea minor #4319 fix typo (xabbuh)
This PR was merged into the 3.x branch.

Discussion
----------

fix typo

Commits
-------

0d1821b0d3 fix typo
2024-09-16 12:04:33 +02:00
Christian Flothmann 0d1821b0d3 fix typo 2024-09-16 12:03:13 +02:00
Fabien Potencier 03f695fe95 minor #4308 [Doc] Provide an alternative for the deprecated spaceless filter (javiereguiluz, fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

[Doc] Provide an alternative for the deprecated spaceless filter

When a feature is deprecated, it's recommended to provide an alternative for it (or mention that there's no alternative).

So, let's mention the whitespace control features in the deprecation message of the `spaceless` filter.

Commits
-------

5a94ddc76e Suggest wording
b5d19ee4be [Doc] Provide an alternative for the deprecated spaceless filter
2024-09-14 10:56:32 +02:00
Fabien Potencier 5a94ddc76e Suggest wording 2024-09-14 10:56:07 +02:00
Fabien Potencier 1b9df761b6 feature #4310 Allow to use a dynamic attribute on the . operator via () (fabpot)
This PR was squashed before being merged into the 3.x branch.

Discussion
----------

Allow to use a dynamic attribute on the . operator via ()

Closes #3598

As one can think that the `attribute` function has some special power compared to the `.` operator (like using Symfony PropertyAccess), I think it's better to use the `.` operator for dynamic attributes as well.

Using `()` makes it clear that the behavior is the same as the `.` operator (using `()` is similar to the way one can use dynamic mapping names (like in `{ (name): value }`).

Commits
-------

048183eaa6 Add cross-link
8d1af0fc03 Let's no deprecate the attribute function yet
333638e8e6 Allow to use a dynamic attribute on the . operator via ()
2024-09-14 10:41:58 +02:00
Fabien Potencier 4c9526a31d Rename a variable for more clarity 2024-09-14 10:31:13 +02:00
Fabien Potencier 45156aab11 minor #4314 Clarify coding standards (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Clarify coding standards

Refs #3545

Commits
-------

1dfdd82cfe Clarify coding standards
2024-09-14 10:29:17 +02:00
Fabien Potencier a2ed05aa87 minor #4316 Set IteratorAggregate generics for Node (ruudk)
This PR was merged into the 3.x branch.

Discussion
----------

Set IteratorAggregate generics for Node

This will help PHPStan and Psalm to understand what happens when iterating over a Node.

/cc `@fabpot`

Commits
-------

ba6e856d92 Set IteratorAggregate generics for Node
2024-09-13 15:40:58 +02:00
Ruud Kamphuis ba6e856d92 Set IteratorAggregate generics for Node
This will help PHPStan and Psalm to understand what happens when iterating over a Node.
2024-09-13 15:04:20 +02:00
Fabien Potencier 048183eaa6 Add cross-link 2024-09-13 14:06:34 +02:00
Fabien Potencier 8d1af0fc03 Let's no deprecate the attribute function yet 2024-09-13 13:56:05 +02:00
Fabien Potencier 9ea43d8b60 minor #4312 Clarify docs for the u filter (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Clarify docs for the u filter

Closes #3299

Commits
-------

7961788224 Clarify docs for the u filter
2024-09-13 13:39:04 +02:00
Fabien Potencier ba5875b575 minor #4315 Add more precise types for the registration of safe classes (stof)
This PR was merged into the 3.x branch.

Discussion
----------

Add more precise types for the registration of safe classes

Safe classes only impact the auto-escaping of the string casting of instance of those classes.
By defining that this method only expects names of stringable classes, it allows static analysis tools to report non-working configurations (for instance for people thinking this would impact the auto-escaping for values returned by getters of a safe class, as in https://github.com/twigphp/Twig/issues/4113 for instance).

The method technically support prefixing the class name with a `\`. Static analyzers would reject such string when checking for `class-string`. However, I think this is fine. Projects wanting to use a SA tool are probably already using the `::class` constant anyway to refer to class names (and otherwise, removing the leading `\` in their string literal is easy)

Commits
-------

8330936415 Add more precise types for the registration of safe classes
2024-09-13 13:08:24 +02:00
Christophe Coevoet 8330936415 Add more precise types for the registration of safe classes
Safe classes only impact the auto-escaping of the string casting of instance of those classes.
By defining that this method only expects names of stringable classes, it allows static analysis tools to report non-working configurations (for instance for people thinking this would impact the auto-escaping for values returned by getters of a safe class).
2024-09-13 12:58:50 +02:00
Fabien Potencier 1dfdd82cfe Clarify coding standards 2024-09-13 08:16:53 +02:00
Fabien Potencier c8bb3b1b69 Fix markup 2024-09-13 08:15:49 +02:00
Fabien Potencier b6e3ad895c Fix markup 2024-09-13 08:14:14 +02:00
Fabien Potencier 7961788224 Clarify docs for the u filter 2024-09-12 23:07:08 +02:00
Fabien Potencier 333638e8e6 Allow to use a dynamic attribute on the . operator via () 2024-09-12 21:44:45 +02:00
Fabien Potencier c6d6ef22ec minor #4309 Doc tweaks (fabpot)
This PR was squashed before being merged into the 3.x branch.

Discussion
----------

Doc tweaks

Commits
-------

08f28fd06c Remove most usage of foo/bar/baz in the docs
b1c35cd1fc Tweak docs
2024-09-12 21:42:19 +02:00
Fabien Potencier 08f28fd06c Remove most usage of foo/bar/baz in the docs 2024-09-12 21:40:08 +02:00
Fabien Potencier b1c35cd1fc Tweak docs 2024-09-12 19:19:56 +02:00
Javier Eguiluz b5d19ee4be [Doc] Provide an alternative for the deprecated spaceless filter 2024-09-12 11:42:41 +02:00
Fabien Potencier 6fa404ffdf minor #4306 Add StringCastUnary (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Add StringCastUnary

Commits
-------

bfafa5b613 Add StringCastUnary
2024-09-12 07:44:29 +02:00
Fabien Potencier bfafa5b613 Add StringCastUnary 2024-09-11 22:23:33 +02:00
Fabien Potencier b2e66717a2 feature #4300 Add support for argument unpacking (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Add support for argument unpacking

Closes #3291

Commits
-------

112de8dcfa Add support for argument unpacking
2024-09-11 16:14:43 +02:00
Fabien Potencier f2baecaa7c minor #4303 Fix typo (rylixs)
This PR was merged into the 3.x branch.

Discussion
----------

Fix typo

Commits
-------

c7d9a50727 Fix typo
2024-09-11 14:47:33 +02:00
Rylix c7d9a50727 Fix typo 2024-09-11 14:41:00 +02:00