This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler
Fabien Potencier 23cdf568ac feature #12006 Expression language extensibility (fabpot)
This PR was merged into the 2.6-dev branch.

Discussion
----------

Expression language extensibility

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #10512
| License       | MIT
| Doc PR        | not yet

The way we can add functions to an ExpressionLanguage instance is by using inheritance. #10512 tries to make the expression language in the routing flexible but using inheritance won't work when several bundles want to add functions.

So, this PR takes another approach to solve the problem globally.

Todo:

 * [x] add some more tests
 * [ ] add some docs

Commits
-------

7c24188 [FrameworkBundle] added a compiler pass for expression language providers
4195a91 [Routing] added support for custom expression language functions
1a39046 [Security] added support for custom expression language functions
79bcd52b [DependencyInjection] added support for custom expression language functions
184742c [ExpressionLanguage] added ExpressionFunction and ExpressionFunctionProviderInterface
2014-09-28 13:22:15 +02:00
..
AddCacheClearerPass.php made {@inheritdoc} annotations consistent across the board 2014-04-16 09:04:20 +02:00
AddCacheWarmerPass.php made {@inheritdoc} annotations consistent across the board 2014-04-16 09:04:20 +02:00
AddConsoleCommandPass.php [FrameworkBundle] Adds the possibility to register Commands via the DIC 2013-10-04 16:09:28 +02:00
AddConstraintValidatorsPass.php fixed CS 2011-06-08 12:16:48 +02:00
AddExpressionLanguageProvidersPass.php [FrameworkBundle] added a compiler pass for expression language providers 2014-09-25 19:08:39 +02:00
AddValidatorInitializersPass.php [FrameworkBundle] Implemented configuration to select the desired Validator API 2014-03-30 18:31:00 +02:00
CompilerDebugDumpPass.php Use Filesystem::chmod instead of chmod when dumping file 2014-03-31 12:15:50 +02:00
ContainerBuilderDebugDumpPass.php Use Filesystem::chmod instead of chmod when dumping file 2014-03-31 12:15:50 +02:00
FormPass.php [FrameworkBundle] Reuse definition variable in FormPass 2013-03-23 21:50:01 +01:00
FragmentRendererPass.php renamed some classes and Twig functions to more descriptive names (refs #6871) 2013-02-01 15:17:20 +01:00
LoggingTranslatorPass.php [FrameworkBundle]Ignore LoggingTranslatorPass if there is no Translator definition. 2014-09-24 22:15:22 +01:00
ProfilerPass.php [FrameworkBundle] Adding an exception to help with bad configuration and filling in some missing tests 2011-03-07 21:10:01 -06:00
RoutingResolverPass.php replaced symfony-project.org by symfony.com 2011-03-06 12:40:06 +01:00
SerializerPass.php fixed CS 2013-07-01 14:24:43 +02:00
TemplatingAssetHelperPass.php [FrameworkBundle] Determine templating.engine.php scope as late as possible 2014-09-22 10:43:33 +02:00
TemplatingPass.php removed unused use statements 2011-10-29 11:56:30 +02:00
TranslationDumperPass.php -- add command that extracts translation messages from templates 2011-09-09 10:23:54 +02:00
TranslationExtractorPass.php yet another fix 2011-09-19 17:53:25 +02:00
TranslatorPass.php updated license blocks 2012-03-31 18:00:32 -03:00