Commit Graph

1155 Commits

Author SHA1 Message Date
Fabien Potencier d9d8bb0df3 Add support for inline comments 2024-09-27 07:32:09 +02:00
Fabien Potencier a23cd9feeb Fix CS 2024-09-26 21:22:23 +02:00
Fabien Potencier f4b17ce8fa bug #4336 Fix template name in error for an unknown dynamic extends called from an include (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Fix template name in error for an unknown dynamic extends called from an include

Closes #3265

The code was introduced in #1529, but removing it nowadays does not break any existing test.

Review ignoring whitespace.

Commits
-------

4824f2a4a3 Fix template name in error for an unknown dynamic extends called from an include
2024-09-26 20:59:11 +02:00
Fabien Potencier 57147e7513 feature #4353 Add support for accessing class constants with the dot operator (nicolas-grekas)
This PR was merged into the 3.x branch.

Discussion
----------

Add support for accessing class constants with the dot operator

This PR allows accessing class constants from objects: `{{ foo.SOME_CONSTANT }}`. This should nicely replace the `constant()` function when an object is at hand, and is actually needed to make the `enum` function work in #4352.

Commits
-------

1ea0452323 Add support for accessing class constants with the dot operator
2024-09-26 20:37:32 +02:00
Fabien Potencier 5038a30c72 bug #4351 Fix getting a property on an object casted to an array (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Fix getting a property on an object casted to an array

Closes #3371

Commits
-------

7d5269e100 Fix getting a property on an object casted to an array
2024-09-26 20:35:25 +02:00
Nicolas Grekas 1ea0452323 Add support for accessing class constants with the dot operator 2024-09-26 18:06:21 +02:00
Fabien Potencier 7d5269e100 Fix getting a property on an object casted to an array 2024-09-26 17:55:00 +02:00
Nicolas Grekas 04471ab8cd Replace strtr() by strtolower() 2024-09-26 17:48:39 +02:00
Fabien Potencier d008fa408e minor #4345 Add fixture filename as key (ruudk)
This PR was merged into the 3.x branch.

Discussion
----------

Add fixture filename as key

This way, it's easier to see which test failed and what the file was.

In PHPStorm this is visualized very nice.
![Screenshot 2024-09-26 at 14 19 49@2x](https://github.com/user-attachments/assets/1fe87364-c014-4cff-9b90-b9db0368efc8)

Commits
-------

633d70103d Add fixture filename as key
2024-09-26 15:11:48 +02:00
Fabien Potencier fea6cc344e minor #4346 Remove useless assign in compiled code (ruudk)
This PR was merged into the 3.x branch.

Discussion
----------

Remove useless assign in compiled code

It's already unset / initialized on catch.

Having it this way, is a bit easier for me when analyzing this in TwigStan.

Commits
-------

5c73c6695c Remove useless assign in compiled code
2024-09-26 15:10:13 +02:00
Ruud Kamphuis 7256713c86 Improve escape deprecation message 2024-09-26 15:09:41 +02:00
Ruud Kamphuis 5c73c6695c Remove useless assign in compiled code 2024-09-26 14:36:01 +02:00
Ruud Kamphuis 633d70103d Add fixture filename as key
This way, it's easier to see which test failed and what the file was.

In PHPStorm this is visualized very nice.
2024-09-26 14:19:35 +02:00
Fabien Potencier f83c844b7d Add start/end time accessors on Profile 2024-09-26 08:19:38 +02:00
Fabien Potencier 09790a7542 Fix 'ignore missing' when used on an 'embed' tag 2024-09-26 07:55:44 +02:00
Fabien Potencier 588a5c5676 bug #4339 Fix the possibility to override an aliased block (via use) (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Fix the possibility to override an aliased block (via use)

Closes #3709

Commits
-------

955611d5bb Fix the possibility to override an aliased block (via use)
2024-09-25 22:17:13 +02:00
Fabien Potencier c203b27db2 feature #4334 Improve how trim behaves (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Improve how trim behaves

Closes #3651

Commits
-------

10c3142d3b Improve how trim behaves
2024-09-25 22:10:15 +02:00
Fabien Potencier 955611d5bb Fix the possibility to override an aliased block (via use) 2024-09-25 22:08:16 +02:00
Fabien Potencier dca5099aad Add hot cache reload for templates 2024-09-25 17:28:51 +02:00
Fabien Potencier 786a67b1a9 Add RemovableCacheInterface 2024-09-25 17:28:51 +02:00
Fabien Potencier 4824f2a4a3 Fix template name in error for an unknown dynamic extends called from an include 2024-09-24 20:55:19 +02:00
Fabien Potencier 9855e35d44 Optimize compiled code for "set" tag 2024-09-24 16:47:02 +02:00
Fabien Potencier 10c3142d3b Improve how trim behaves 2024-09-24 13:35:40 +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
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
Vincent Langlet 3be417d2eb Improve date methods phpdoc 2024-09-20 11:43:16 +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
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 52ded207d3 Allow Twig callable arguments to use camel or snake names 2024-09-18 19:19:20 +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
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 8d1af0fc03 Let's no deprecate the attribute function yet 2024-09-13 13:56:05 +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 333638e8e6 Allow to use a dynamic attribute on the . operator via () 2024-09-12 21:44:45 +02:00
Fabien Potencier bfafa5b613 Add StringCastUnary 2024-09-11 22:23:33 +02:00
Fabien Potencier 112de8dcfa Add support for argument unpacking 2024-09-11 11:55:09 +02:00
Fabien Potencier 1a20e96174 Fix CS 2024-09-11 10:45:54 +02:00
Fabien Potencier c616783674 Add JSON support for the file extension escaping strategy 2024-09-11 10:01:22 +02:00
Fabien Potencier 8b421f58aa feature #4301 Stringify dynamic mapping keys (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Stringify dynamic mapping keys

Closes #3696

Commits
-------

ccfe6ad26e Stringify dynamic mapping keys
2024-09-11 09:51:54 +02:00
Fabien Potencier a7e924f36e minor #4298 Replace all empty() calls (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Replace all empty() calls

Commits
-------

9e9f8110bd Replace most empty() calls
2024-09-11 09:22:35 +02:00
Fabien Potencier 366e038359 minor #4299 Simplify parser calls when possible (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Simplify parser calls when possible

Commits
-------

3f07d2c034 Simplify parser calls when possible
2024-09-11 09:19:24 +02:00
Fabien Potencier ccfe6ad26e Stringify dynamic mapping keys 2024-09-11 08:58:53 +02:00
Fabien Potencier 9e9f8110bd Replace most empty() calls 2024-09-11 07:44:00 +02:00
Fabien Potencier 3f07d2c034 Simplify parser calls when possible 2024-09-10 23:42:58 +02:00
Fabien Potencier d571e8bc92 feature #4293 Deprecate the sandbox tag (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Deprecate the sandbox tag

Closes #3168

Commits
-------

9369a48c53 Deprecate the sandbox tag
2024-09-10 22:42:18 +02:00
Fabien Potencier 9369a48c53 Deprecate the sandbox tag 2024-09-10 22:41:00 +02:00