Commit Graph

85 Commits

Author SHA1 Message Date
Fabien Potencier 7f0f313f1a Make some small internal tweaks to loops 2024-07-18 08:26:46 +02:00
Fabien Potencier fcb36ec18a Merge branch '3.x' into 4.x
* 3.x:
  Add support for first class callables
2024-07-14 13:59:52 +02:00
Fabien Potencier d2eab12e70 Add support for first class callables 2024-07-14 13:56:14 +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 437ad31dfa Move some code to LoopContext 2024-07-11 09:35:26 +02:00
Fabien Potencier 17ef0bef4b Introduce a Loop object 2024-07-11 08:03:08 +02:00
Fabien Potencier c250afdda0 Optimize sprintf() calls for PHP 8.4 2024-06-21 08:27:51 +02:00
Fabien Potencier b63bde3063 Optimize sprintf() calls for PHP 8.4 2024-06-21 08:16:55 +02:00
Fabien Potencier 3046c8cc9b minor #4076 Remove obsolete code (setAccessible(true)) (fabpot)
This PR was merged into the 4.x branch.

Discussion
----------

Remove obsolete code (setAccessible(true))

Commits
-------

85760a17 Remove obsolete code (setAccessible(true))
2024-05-05 09:15:43 +02:00
Fabien Potencier 85760a17fa Remove obsolete code (setAccessible(true)) 2024-05-05 09:14:07 +02:00
Fabien Potencier e5431b1361 Modernize code 2024-05-04 18:35:53 +02:00
Fabien Potencier 3d99ed8bdb Merge branch '3.x' into 4.x
* 3.x:
  Move some static extension methods to non-static
  Add needs_charset option for filters and functions
  Fix method call
  Rename some internal methods
2024-05-01 13:58:23 +02:00
Fabien Potencier 283475b102 Move some static extension methods to non-static 2024-05-01 13:48:35 +02:00
Fabien Potencier c63f695e8a Add needs_charset option for filters and functions 2024-05-01 13:12:48 +02:00
Fabien Potencier 16acdf69fe Rename some internal methods 2024-05-01 10:19:22 +02:00
Fabien Potencier 8bebf01858 Merge branch '3.x' into 4.x
* 3.x:
  -
  Fix capturing output from extensions that still use echo
  Add missing @deprecated tags
  Add more information about migrating away from twig_escape_filter()
  Fix compat with older versions of PHP
  Extract the escaping logic to a runtime
2024-05-01 09:18:31 +02:00
Nicolas Grekas 8c43456ac6 Fix capturing output from extensions that still use echo 2024-04-30 16:48:10 +02:00
Fabien Potencier 5fdb1ee11a Merge branch '3.x' into 4.x
* 3.x:
  Fix a @return type hint
  Fix CS
  Fix a test
  Fix type
  Simplify sandbox code
  Get rid of weird code
  [html-extra] filter classes
  Fix some inconsistencies
2024-04-30 15:46:54 +02:00
Fabien Potencier 5148d10515 Fix some inconsistencies 2024-04-28 13:15:26 +02:00
Fabien Potencier 9a11ee1c64 Merge branch '3.x' into 4.x
* 3.x:
  Bump version to 3.9.4-DEV
  Fix a warning
  Use ::class everywhere
  Auto-close PRs on subtree-splits
  Bump version
  Prepare the 3.9.3 release
  Update CHANGELOG
  Ensure Lexer:: is always initialized
  fix: #4033 add missing unwrap call when a TemplateWrapper instance can be present
  change extended DI extension class
  fix: #4029 when use_yield is true CaptureNode use iterator_to_array preserveKeys argument to false
2024-04-24 08:25:00 +02:00
Gildas de Cadoudal f7121a23bc fix: #4029 when use_yield is true CaptureNode use iterator_to_array preserveKeys argument to false 2024-04-18 09:45:09 +02:00
Fabien Potencier ddc966a59c Remove deprecations 2024-04-14 11:22:32 +02:00
Fabien Potencier 90097238c1 Merge branch '3.x' into 4.x
* 3.x:
  Add a deprecation notice when using AbstractNodeVisitor (deprecated since 2.9)
  Fix doc markup
  Fix CS
2024-04-14 11:11:39 +02:00
Fabien Potencier 30b5658f89 Fix CS 2024-04-14 10:22:11 +02:00
Nicolas Grekas 1af9ad0c3e Merge branch '3.x' into 4.x
* 3.x:
  Add `#[YieldReady]` to allow extensions to tell when they're ready for yielding
2024-02-15 11:47:41 +01:00
Nicolas Grekas e70777405d Add #[YieldReady] to allow extensions to tell when they're ready for yielding 2024-02-15 10:27:26 +01:00
Fabien Potencier f7f11ea410 Fix CS 2024-02-10 09:52:03 +01:00
Fabien Potencier f9871531b7 Merge branch '3.x' into 4.x
* 3.x:
  Fxi some errors reported by phpstan
2024-02-05 19:00:15 +01:00
Fabien Potencier 7e1945a618 minor #3991 Fix some errors reported by phpstan (fabpot)
This PR was merged into the 3.x branch.

Discussion
----------

Fix some errors reported by phpstan

Commits
-------

2b2ac80d Fxi some errors reported by phpstan
2024-02-05 18:59:35 +01:00
Fabien Potencier 2b2ac80d34 Fxi some errors reported by phpstan 2024-02-05 17:48:36 +01:00
Fabien Potencier 3daafdae98 Fix tests 2024-02-05 16:13:35 +01:00
Fabien Potencier c129040d46 Merge YieldingTemplate and Template 2024-02-05 16:13:35 +01:00
Fabien Potencier b3eeb41861 Remove obsolete code about non-yield templates 2024-02-05 16:13:35 +01:00
Fabien Potencier e79c7a3984 Merge branch '3.x' into 4.x
* 3.x:
  Fix bug
  Tweak code
  Add a deprecation when a Node uses echo/print
  Fix tests
  Optimize code
  Add support for templates that do not have output Nodes
  -
  Remove some tests
  -
  Tweak code
  Remove the new yield nodes
  Remove usage of ob_* functions in favor of yielding
  Tweak CI output
2024-02-05 14:27:33 +01:00
Fabien Potencier 0d3a283907 Tweak code 2024-01-25 13:09:58 +01:00
Fabien Potencier a9c7307b5c Tweak code 2024-01-25 13:09:58 +01:00
Fabien Potencier 15879406c8 Remove the new yield nodes 2024-01-25 13:09:58 +01:00
Fabien Potencier 3b6cbf98d8 Remove usage of ob_* functions in favor of yielding 2024-01-25 13:09:52 +01:00
Fabien Potencier d234a60efa Merge branch '3.x' into 4.x
* 3.x:
  Bump actions/cache for CI
  Remove an obsolete comment
  Throws proper Twig exception when using cycle on an empty array
  Add tests when a template doesn't have output nodes
  Optimize TextNodes
  Remove list() usage in code
  Remove usage of list() in favor of []
2024-01-22 18:50:54 +01:00
Fabien Potencier 9c0897fa2c Remove usage of list() in favor of [] 2024-01-05 09:48:24 +01:00
Fabien Potencier 82e98ceff9 Merge branch '3.x' into 4.x
* 3.x:
  rework the CaptureNode implementation
2024-01-01 15:48:17 +01:00
Christian Flothmann 665dce899f rework the CaptureNode implementation 2024-01-01 15:43:59 +01:00
Fabien Potencier 2d19b9a8f0 Merge branch '3.x' into 4.x
* 3.x:
  Abstract node capture in its own Node
2023-12-30 13:06:11 +01:00
Fabien Potencier 6ebbc30593 Abstract node capture in its own Node 2023-12-30 10:14:36 +01:00
Fabien Potencier 35640b6d2d Add type hints to private properties 2023-12-14 20:43:37 +01:00
Fabien Potencier ac423430aa Merge branch '3.x' into 4.x
* 3.x:
  Fix CS
  Move functions for CoreExtension
  Move functions for EscaperExtension
  Move functions for StringLoaderExtension
  Move functions for DebugExtension
  Move functions for MarkdownExtension
  Move functions for InkyExtension
  Move functions for CssInlinerExtension
  Move functions for HtmlExtension
  Deprecate internal extension functions in favor of methods on the extension classes
  Tweak deprecated docs
2023-12-10 20:55:15 +01:00
Fabien Potencier 54d34b969b Move functions for CoreExtension 2023-12-10 20:13:10 +01:00
Fabien Potencier c8d6df7eb2 Remove usage of isset before array_key_exists as performance is not an issue anymore 2023-12-09 17:24:12 +01:00
Fabien Potencier bce22e4c32 Use named arguments 2023-12-09 17:18:55 +01:00
Fabien Potencier fed8dd102b Use ::class 2023-12-09 15:33:38 +01:00