Commit Graph

371 Commits

Author SHA1 Message Date
Christian Flothmann
d2496ab5d2 Merge branch '3.4' into 4.0
* 3.4:
  [HttpKernel] Better handling of legacy cache
  modify definitions only if the do exist
  [DI] Prevent a ReflectionException during cache:clear when the parent class doesn't exist
  [FrameworkBundle] Make MicroKernelTraitTest green
  don't override existing verbosity env var
  [HttpKernel] Read $_ENV when checking SHELL_VERBOSITY
  Remove unreachable code
  Automatically enable the CSRF protection if CSRF manager exists
  bumped Symfony version to 3.4.0
  adding checks for the expression language
  updated VERSION for 3.4.0-RC2
  updated CHANGELOG for 3.4.0-RC2
2017-11-28 23:05:27 +01:00
Kévin Dunglas
6e622c668b [DI] Prevent a ReflectionException during cache:clear when the parent class doesn't exist 2017-11-27 10:49:34 +01:00
Nicolas Grekas
8b98282821 Merge branch '3.4' into 4.0
* 3.4:
  [DI] Dont resolve envs in service ids
  Add tests proving it can load annotated files
  [WebProfilerBundle] Reset letter-spacing in toolbar
  Prefer overflow-wrap to word-break
  remove more kernel.root_dir parameter refs
  [*Bundle] Replace some kernel.root_dir by kernel.project_dir
  removed some phpdocs
  [Routing] Fix "config-file-relative" annotation loader resources
  Make search in debug:container command case-insensitive
  `resolveEnvPlaceholders` will return a mixed value
  Update translation commands to work with default paths
  [FrameworkBundle] Fix AssetsInstallCommand
2017-11-24 15:34:08 +01:00
Nicolas Grekas
f897542cb2 Merge branch '3.3' into 3.4
* 3.3:
  [DI] Dont resolve envs in service ids
  Add tests proving it can load annotated files
  [WebProfilerBundle] Reset letter-spacing in toolbar
  Prefer overflow-wrap to word-break
  [Routing] Fix "config-file-relative" annotation loader resources
  Make search in debug:container command case-insensitive
  `resolveEnvPlaceholders` will return a mixed value
2017-11-24 15:13:49 +01:00
Nicolas Grekas
7921255faf [DI] Dont resolve envs in service ids 2017-11-24 13:44:22 +01:00
Nicolas Grekas
5b6c1b3132 Merge branch '3.4'
* 3.4:
  [Bridge/PhpUnit] Sync the bridge version installed in vendor/ and in phpunit clone
  [DI] Analyze setter-circular deps more precisely
  fixing that PropertyNormalizer supports parent properties
  [SecurityBundle] Don't trigger auto-picking notice if provider is set per listener
  [TwigBundle][FrameworkBundle] Remove the internals from debug autowiring
  [DI] Skip hot_path tag for deprecated services as their class might also be
  [Cache] Memcached options should ignore "lazy"
  [FrameworkBundle] Dont create empty bundles directory
2017-11-20 22:12:12 +01:00
Nicolas Grekas
9cc4a213c9 [DI] Analyze setter-circular deps more precisely 2017-11-20 18:46:17 +01:00
Nicolas Grekas
bdcc3577c0 Merge branch '3.4'
* 3.4:
  [DI] Fix dumping with custom base class
  fixed typo
  [HttpFoundation] Add test
  [HttpFoundation] Fix session-related BC break
  [Process] Workaround PHP bug #75515 in ProcessTest::testSimpleInputStream()
  [FrameworkBundle] Wire the translation.reader service instead of deprecated translation.loader in commands
  fix method name
2017-11-13 19:20:21 +01:00
Nicolas Grekas
ecad1c4b3b Merge branch '3.3' into 3.4
* 3.3:
  [DI] Fix dumping with custom base class
  [HttpFoundation] Add test
  [HttpFoundation] Fix session-related BC break
  [Process] Workaround PHP bug #75515 in ProcessTest::testSimpleInputStream()
  fix method name
2017-11-13 19:20:08 +01:00
Nicolas Grekas
2dd74ab89e [DI] Fix dumping with custom base class 2017-11-13 19:10:32 +01:00
Nicolas Grekas
784186b249 Merge branch '3.4'
* 3.4:
  [TwigBridge] Fixed the .form-check-input class in the bs4 templates
  [Console] Fix traversable autocomplete values
  [SecurityBundle] Improve deprecations
  [DI] Friendlier name for generated container in "as_files" mode
  [Debug] Remove false-positive deprecation from DebugClassLoader
  [SecurityBundle] Add missing quotes in deprecation messages
  [ExpressionLanguage] Fix PhpDoc type-hints on Token value
  bumped Symfony version to 3.3.12
  Add default translations path option and convention
  updated VERSION for 3.3.11
  updated CHANGELOG for 3.3.11
  bumped Symfony version to 2.8.30
  updated VERSION for 2.8.29
  updated CHANGELOG for 2.8.29
  bumped Symfony version to 2.7.37
  updated VERSION for 2.7.36
  update CONTRIBUTORS for 2.7.36
  updated CHANGELOG for 2.7.36
2017-11-12 17:47:31 +01:00
Nicolas Grekas
7db5d40a26 [DI] Friendlier name for generated container in "as_files" mode 2017-11-11 17:18:07 +01:00
Nicolas Grekas
dd82ca8a58 Merge branch '3.4'
* 3.4:
  [DI] Add "container.hot_path" tag to flag the hot path and inline related services
  [FrameworkBundle] Fine-tune generated annotations.php cache
  [HttpFoundation] Prevent PHP from sending Last-Modified on session start
  Micro optim using explicit root namespaces
2017-11-09 18:30:28 +01:00
Nicolas Grekas
f7cb559a06 [DI] Add "container.hot_path" tag to flag the hot path and inline related services 2017-11-09 15:14:31 +01:00
Nicolas Grekas
d7547f2e95 Merge branch '3.4'
* 3.4:
  [3.4] Remove useless docblocks
  [3.3] More docblock fixes
  [2.7] More docblock fixes
  [TwigBridge] Fix BC break due required twig environment
  Random fixes
  Docblock fixes
  [DI] Fix cannot bind env var
  Fix some signatures in PHP-DSLs
  [HttpKernel] Enhance deprecation message
  bumped Symfony version to 3.4.0
  updated VERSION for 3.4.0-BETA3
  updated CHANGELOG for 3.4.0-BETA3
  [SecurityBundle] Fix the datacollector to properly support decision.object being null
2017-11-07 15:34:02 +01:00
Nicolas Grekas
b2edd51177 bug #24850 [DI] Fix cannot bind env var (ogizanagi)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Fix cannot bind env var

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see comment below -->
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | #24845 <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

In #24602 we removed the processing of bindings from the `AbstractRecursivePass`. But there is actually one case where we want a recursive pass to process them: to resolve env param placeholders.

Commits
-------

f8f3a15 [DI] Fix cannot bind env var
2017-11-07 14:40:01 +01:00
Maxime Steinhausser
f8f3a15b7a [DI] Fix cannot bind env var 2017-11-07 09:01:11 +01:00
Nicolas Grekas
1c5eeb5efa Merge branch '3.4'
* 3.4:
  Remove useless phpdoc
  [DI] Fix the "almost-circular refs" fix
  [Form] Fix low deps
2017-11-05 19:15:34 +01:00
Nicolas Grekas
db12a9872d [DI] Fix the "almost-circular refs" fix 2017-11-05 19:01:07 +01:00
Nicolas Grekas
4c1de3fbff Merge branch '3.4'
* 3.4:
  [HttpFoundation] refactoring: calculate when need
  [Serializer] Fix extra attributes when no group specified
  [Intl] Make intl-data tests pass and save language aliases again
  [FrameworkBundle][Config] fix: do not add resource checkers for debug=false
  [DI] Fix "almost-circular" dependencies handling
  [Console] Fix CommandTester::setInputs() docblock
  Only enabling validation if it is present
  Fix displaying errors for bootstrap 4
  [Serializer] readd default argument value
  Fix reference dump for deprecated nodes
  [PhpUnitBridge] Fixed fatal error in CoverageListener when something goes wrong in Test::setUpBeforeClass
  [HttpKernel] Let the storage manage the session starts
  [VarDumper] fix trailling comma when dumping an exception
  [Validator] Fix TraceableValidator is reset on data collector instantiation
  Remove useless docblocks
  [FrameworkBundle] Fix docblocks
  [PropertyInfo] Remove useless docblocks
2017-11-05 17:26:21 +01:00
Nicolas Grekas
beb4df712c [DI] Fix "almost-circular" dependencies handling 2017-11-05 13:06:25 +01:00
Nicolas Grekas
4198ad3f88 Merge branch '3.4'
* 3.4:
  [TwigBridge] fix BC for FormExtension if renderer is FormRenderer
  [Form] Fix 5.5 compatibility for ResizeFormListener
  [BrowserKit] Handle deprecations triggered in insulated requests
  [Bridge\PhpUnit] Handle deprecations triggered in separate processes
  Fix LogLevel::DEBUG as min level
  [Validator] added magic method __isset()  to File Constraint class
  Support array of types in allowed type
  [DI] Fix possible incorrect php-code when dumped strings contains newlines
  [Translation] minor: remove unused variable in test
  added ability to handle parent classes for PropertyNormalizer
  replace parameters in dummy identity translator
  never match invalid IP addresses
2017-10-13 15:37:53 +02:00
Nicolas Grekas
2c18da709f Merge branch '3.3' into 3.4
* 3.3:
  [BrowserKit] Handle deprecations triggered in insulated requests
  [Bridge\PhpUnit] Handle deprecations triggered in separate processes
  [Validator] added magic method __isset()  to File Constraint class
  [DI] Fix possible incorrect php-code when dumped strings contains newlines
  [Translation] minor: remove unused variable in test
  never match invalid IP addresses
2017-10-13 15:33:47 +02:00
Nicolas Grekas
17b48edebc Merge branch '2.8' into 3.3
* 2.8:
  [Validator] added magic method __isset()  to File Constraint class
  [DI] Fix possible incorrect php-code when dumped strings contains newlines
  [Translation] minor: remove unused variable in test
  never match invalid IP addresses
2017-10-13 15:32:37 +02:00
Nicolas Grekas
d04c0ea45b Merge branch '2.7' into 2.8
* 2.7:
  [Validator] added magic method __isset()  to File Constraint class
  [DI] Fix possible incorrect php-code when dumped strings contains newlines
  [Translation] minor: remove unused variable in test
  never match invalid IP addresses
2017-10-13 15:30:20 +02:00
Artur Eshenbrener
345f2fc60e [DI] Fix possible incorrect php-code when dumped strings contains newlines 2017-10-12 17:34:26 +02:00
Nicolas Grekas
2ab092034b Merge branch '3.4'
* 3.4:
  fix merge
  fix merge
  [FORM] Prevent forms from extending itself as a parent
  fix merge
  Fix 7.2 compat layer
  [DI] Prefixed env vars and load time inlining are incompatible
  bug #24499 [Bridge\PhpUnit] Fix infinite loop when running isolated method (bis) (nicolas-grekas)
  Fix PHP 7.2 support
  [HttpFoundation] Add missing session.lazy_write config option
  [DI] Exclude inline services declared in XML from autowiring candidates
  [HttpFoundation] Combine Cache-Control headers
  [Form] fix parsing invalid floating point numbers
  Escape command usage when displaying it in the text descriptor
  [DI] Throw accurate failures when accessing removed services
  [DI] Turn private defs to non-public ones before removing passes
  Use for=ID on radio/checkbox label.
2017-10-10 16:32:10 +02:00
Fabien Potencier
d48bcbfcf6 feature #24484 [DI] Throw accurate failures when accessing removed services (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Throw accurate failures when accessing removed services

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #24444
| License       | MIT
| Doc PR        | -

See linked issue.
This will throw a useful message when accessing a removed service.
When setting a removed service, a deprecation notice will be thrown also so that in master we can throw an exception then.

Commits
-------

fe7f26d4f3 [DI] Throw accurate failures when accessing removed services
2017-10-09 21:07:35 -07:00
Nicolas Grekas
7c63eaee5c Merge branch '3.4'
* 3.4:
  [Bridge\PhpUnit] Fix infinite loop when running isolated method
  remove unused fixtures file
  parse references on merge keys with objects
2017-10-09 16:53:01 +02:00
Nicolas Grekas
92f621fcf7 Merge branch '3.3' into 3.4
* 3.3:
  [Bridge\PhpUnit] Fix infinite loop when running isolated method
  remove unused fixtures file
  parse references on merge keys with objects
2017-10-09 16:52:13 +02:00
Nicolas Grekas
fe7f26d4f3 [DI] Throw accurate failures when accessing removed services 2017-10-07 23:38:34 +02:00
Christian Flothmann
3702e5ff37 remove unused fixtures file 2017-10-06 17:17:51 +02:00
Nicolas Grekas
522d079110 Merge branch '3.4'
* 3.4:
  [Bridge\Doctrine][FrameworkBundle] Deprecate some remaining uses of ContainerAwareTrait
  [FrameworkBundle] Fix bad interface hint in AbstractController
  [VarDumper] deprecate MongoCaster
  [HttpFoundation] deprecate using  with the legacy mongo extension; use it with the mongodb/mongodb package and ext-mongodb instead
  Fix BC layer
  Reset profiler.
  [DI] Improve some deprecation messages
  [DI] remove inheritdoc from dumped container
  [Config] Fix dumped files invalidation by OPCache
  [Security] Add Guard authenticator <supports> method
  [Cache] Fix race condition in TagAwareAdapter
  [DI] Allow setting any public non-initialized services
  [Yaml] parse references on merge keys
  treat trailing backslashes in multi-line strings
  [FrameworkBundle] Expose dotenv in bin/console about
  fix refreshing line numbers for the inline parser
  fix version in changelog
  [FrameworkBundle] Make Controller helpers final
  [DoctrineBridge] Deprecate DbalSessionHandler
2017-10-05 17:11:25 +02:00
Tobias Schultze
d779845c3b [DI] remove inheritdoc from dumped container 2017-10-04 18:30:17 +02:00
Nicolas Grekas
deee45ab4e Merge branch '3.4'
* 3.4:
  fix merge
  fix merge
  fix merge
  Fix in simple-phpunit script
2017-10-02 09:25:49 +02:00
Nicolas Grekas
d6972d4233 Merge branch '3.3' into 3.4
* 3.3:
  fix merge
  Fix in simple-phpunit script
2017-10-02 09:23:43 +02:00
Nicolas Grekas
e36a69710e Merge branch '2.8' into 3.3
* 2.8:
  fix merge
2017-10-02 09:18:51 +02:00
Nicolas Grekas
ef4f532395 fix merge 2017-10-02 09:17:52 +02:00
Nicolas Grekas
90986f4502 fix merge 2017-10-02 09:00:01 +02:00
Nicolas Grekas
d3f3721715 Merge branch '3.4'
* 3.4: (33 commits)
  Remove remaining `@experimental` annotations
  Tests and fix for issue in array model data in EntityType field with multiple=true
  [Validator] Add unique entity violation cause
  [Lock] Automaticaly release lock when user forget it
  [Form] Fixed PercentToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible
  fixed CS
  [FrameworkBundle] Don't clear app pools on cache:clear
  Hide label button when its setted to false
  removed useless PHPDoc
  [HttpFoundation] Return instance in StreamedResponse
  [Form] Fix FormInterface::submit() annotation
  [PHPUnitBridge] don't remove when set to  empty string
  PdoSessionHandler: fix advisory lock for pgsql when session.sid_bits_per_character > 4
  HttpCache does not consider ESI resources in HEAD requests
  Fix translation for "This field was not expected"
  [Routing] Enhance Route(Collection) docblocks
  Added improvement for accuracy in MoneyToLocalizedStringTransformer.
  Removed unused private property
  Use correct verb form in the pull request template
  Use PHP_MAXPATHLEN in Filesystem.
  ...
2017-10-02 08:59:24 +02:00
Nicolas Grekas
fedcc91c8d Merge branch '3.3' into 3.4
* 3.3: (23 commits)
  Tests and fix for issue in array model data in EntityType field with multiple=true
  [Form] Fixed PercentToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible
  removed useless PHPDoc
  [Form] Fix FormInterface::submit() annotation
  [PHPUnitBridge] don't remove when set to  empty string
  PdoSessionHandler: fix advisory lock for pgsql when session.sid_bits_per_character > 4
  HttpCache does not consider ESI resources in HEAD requests
  Fix translation for "This field was not expected"
  [Routing] Enhance Route(Collection) docblocks
  Added improvement for accuracy in MoneyToLocalizedStringTransformer.
  Removed unused private property
  Use correct verb form in the pull request template
  Use PHP_MAXPATHLEN in Filesystem.
  Added null as explicit return type (?TokenInterface)
  [FrameworkBundle] Fix Routing\DelegatingLoader
  Render all line breaks according to the exception message
  [Form] Fix phpdoc
  [DI] remove confusing code
  [Form] Fixed GroupSequence with "constraints" option
  [Validator] Clarify UUID validator behavior
  ...
2017-10-02 08:49:52 +02:00
Nicolas Grekas
a707bbf090 Merge branch '2.8' into 3.3
* 2.8: (22 commits)
  Tests and fix for issue in array model data in EntityType field with multiple=true
  [Form] Fixed PercentToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible
  removed useless PHPDoc
  [Form] Fix FormInterface::submit() annotation
  PdoSessionHandler: fix advisory lock for pgsql when session.sid_bits_per_character > 4
  HttpCache does not consider ESI resources in HEAD requests
  Fix translation for "This field was not expected"
  [Routing] Enhance Route(Collection) docblocks
  Added improvement for accuracy in MoneyToLocalizedStringTransformer.
  Removed unused private property
  Use correct verb form in the pull request template
  Use PHP_MAXPATHLEN in Filesystem.
  Added null as explicit return type (?TokenInterface)
  [FrameworkBundle] Fix Routing\DelegatingLoader
  Render all line breaks according to the exception message
  [Form] Fix phpdoc
  [DI] remove confusing code
  [Form] Fixed GroupSequence with "constraints" option
  [Validator] Clarify UUID validator behavior
  [Filesystem] Fixed makePathRelative
  ...
2017-10-02 08:42:24 +02:00
Nicolas Grekas
d4cbc70c50 Merge branch '2.7' into 2.8
* 2.7: (22 commits)
  Tests and fix for issue in array model data in EntityType field with multiple=true
  [Form] Fixed PercentToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible
  removed useless PHPDoc
  [Form] Fix FormInterface::submit() annotation
  PdoSessionHandler: fix advisory lock for pgsql when session.sid_bits_per_character > 4
  HttpCache does not consider ESI resources in HEAD requests
  Fix translation for "This field was not expected"
  [Routing] Enhance Route(Collection) docblocks
  Added improvement for accuracy in MoneyToLocalizedStringTransformer.
  Removed unused private property
  Use correct verb form in the pull request template
  Use PHP_MAXPATHLEN in Filesystem.
  Added null as explicit return type (?TokenInterface)
  [FrameworkBundle] Fix Routing\DelegatingLoader
  Render all line breaks according to the exception message
  [Form] Fix phpdoc
  [DI] remove confusing code
  [Form] Fixed GroupSequence with "constraints" option
  [Validator] Clarify UUID validator behavior
  [Filesystem] Fixed makePathRelative
  ...
2017-10-01 23:00:16 +02:00
Oskar Stark
5ee9043d8b removed useless PHPDoc 2017-09-30 07:00:23 -07:00
Christian Flothmann
08deb372f1 [DependencyInjection] fix tests 2017-09-28 19:06:05 +02:00
Nicolas Grekas
3fde0f0644 Merge branch '3.4'
* 3.4:
  Adding a shortcuts for the main security functionality
  [DI] Reference tagged services in config
2017-09-28 17:44:33 +02:00
Roland Franssen
979e58f370 [DI] Reference tagged services in config 2017-09-28 16:10:08 +02:00
Nicolas Grekas
ff2ab5831a [DI] Fix private-by-default BC layer 2017-09-19 23:28:23 +02:00
Nicolas Grekas
9948b09c6d [DI] Turn services and aliases private by default, with BC layer 2017-09-19 11:28:48 +02:00
Nicolas Grekas
1936491f9b Make as many services private as possible 2017-09-13 09:59:43 +02:00
Nicolas Grekas
8357f2ae4a Merge branch '3.4'
* 3.4:
  Do not display short exception trace for built-in console exceptions
  Deprecated the web_profiler.position option
  [DI] rename ResolveDefinitionTemplatesPass to ResolveChildDefinitionsPass
  Throw a meaningful exception when an undefined user provider is used inside a firewall
  [DI] Allow processing env vars
2017-09-08 10:28:59 +02:00
Nicolas Grekas
1f92e459db [DI] Allow processing env vars 2017-09-07 08:08:52 +02:00
Nicolas Grekas
61966df131 [DI] There are no initialized-only refs to undeclared services 2017-09-04 19:49:50 +02:00
Nicolas Grekas
fc8fe44838 Merge branch '3.4'
* 3.4:
  [3.4][DI] Inline trivial services
  sync upgrade file for Symfony 4.0 between branches
  Fix ability to deprecate a config node
  [DI] Minor fix in dumped code
  [Console] Display file and line on Exception
  Fix deprecations regarding core commands registered as services
  #24046 added check for ext-dom to XmlUtil::loadFile
2017-09-04 19:33:15 +02:00
Nicolas Grekas
2a7f86f85b [3.4][DI] Inline trivial services 2017-09-04 19:14:45 +02:00
Nicolas Grekas
80c0ec1cfd Merge branch '3.3' into 3.4
* 3.3:
  [DI] Minor fix in dumped code
  #24046 added check for ext-dom to XmlUtil::loadFile
2017-09-04 19:13:19 +02:00
Nicolas Grekas
263b95e1d1 [DI] Minor fix in dumped code 2017-09-03 20:01:57 +02:00
Nicolas Grekas
8c70b3939c Merge branch '3.4'
* 3.4:
  Improved the design of the redirection method in the web toolbar
  Mark SemaphoreStore::isSupported() as internal
  [DI] Add ContainerInterface::IGNORE_ON_UNINITIALIZED_REFERENCE
  [FrameworkBundle] Fix form conflict rule
  [Security] add impersonator_user to "User was reloaded" log message
  [DI] Add upgrade note about case insenstive params
  add (pdo|chain) cache (adapter|simple) prune method
  Update NoSuchPropertyException message for writeProperty
  [Routing] added the possibility to define a prefix for all routes of a controller
  [DI] Don't track merged configs when the extension doesn't expose it
  [Cache] Use namespace versioning for backends that dont support clearing by keys
  [VarDumper] add force-collapse/expand + use it for traces
2017-09-03 10:15:12 +02:00
Nicolas Grekas
0db3358ddb [DI] Add ContainerInterface::IGNORE_ON_UNINITIALIZED_REFERENCE 2017-08-31 23:26:27 +02:00
Roland Franssen
ed3df04da8 [DI] Remove case insensitive parameter names 2017-08-31 15:47:29 +02:00
Nicolas Grekas
3a9653df72 Merge branch '3.4'
* 3.4:
  [Console] Add protected static $defaultName to set the default name of a Command
  removed sf2 references
  [Console] Allow commands to provide a default name for compile time registration
  [DI] Case sensitive parameter names
2017-08-25 12:57:40 +02:00
Fabien Potencier
481e31c2d1 feature #23874 [DI] Case sensitive parameter names (ro0NL)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Case sensitive parameter names

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #23809
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!--highly recommended for new features-->

@GuilhemN took your patch.. but i use the same deprecation messages as for case sensitive service id's, i found it more clear. Also comparing to $origName to keep the diff smaller

Commits
-------

8a1d16839e [DI] Case sensitive parameter names
2017-08-22 15:02:44 -07:00
Nicolas Grekas
c8d7a6fea0 Merge branch '3.4'
* 3.4:
  [HttpKernel][FrameworkBundle] Add RebootableInterface, fix and un-deprecate cache:clear with warmup
  [DI] Fix merging of env vars in configs
  Allow to get alternatives when ServiceNotFoundException occurs.
  [DI] Rererence parameter arrays when possible
  Revert "feature #21038 [FrameworkBundle] deprecated cache:clear with warmup (fabpot)"
2017-08-18 17:05:10 +02:00
Nicolas Grekas
62c1bb5d3b [DI] Rererence parameter arrays when possible 2017-08-17 11:23:46 +02:00
Roland Franssen
8a1d16839e [DI] Case sensitive parameter names 2017-08-14 17:16:04 +02:00
Nicolas Grekas
7511fd3fdb Merge branch '3.4'
* 3.4:
  [Debug] Trigger a deprecation when using an internal class/trait/interface
  [DI] Generate one file per service factory
2017-08-07 20:06:09 +02:00
Nicolas Grekas
4037009490 [DI] Generate one file per service factory 2017-08-06 20:25:40 +02:00
Nicolas Grekas
24fc394ad3 Merge branch '3.4'
* 3.4:
  [Yaml] Recommend using quotes instead of PARSE_KEYS_AS_STRINGS
  [DependencyInjection] Deprecate autowiring service auto-registration
  Removed useless argument $definition
  [DI] Generate shorter method names for class-based ids
  Fix comment
  [Config] Fix checking class existence freshness
  bumped Symfony version to 3.3.7
  updated VERSION for 3.3.6
  updated CHANGELOG for 3.3.6
  Autoconfigure instances of ArgumentValueResolverInterface
  Deprecate Filesystem/LockHandler
  improve sql explain table display
  Bump minimal PHP version to ^5.5.9|>=7.0.8
2017-08-03 11:50:20 +02:00
Nicolas Grekas
2454a4f3f9 feature #23712 [DependencyInjection] Deprecate autowiring service auto-registration (GuilhemN)
This PR was squashed before being merged into the 3.4 branch (closes #23712).

Discussion
----------

[DependencyInjection] Deprecate autowiring service auto-registration

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no <!-- don't forget updating src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | yes <!-- don't forget updating UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/issues/23350
| License       | MIT
| Doc PR        |

Fix https://github.com/symfony/symfony/issues/23350, to make autowiring more predictable.

Commits
-------

969a207 [DependencyInjection] Deprecate autowiring service auto-registration
2017-08-03 11:15:05 +02:00
Guilhem Niot
969a20780e [DependencyInjection] Deprecate autowiring service auto-registration 2017-08-03 11:07:16 +02:00
Nicolas Grekas
5cc1648ba4 [DI] Generate shorter method names for class-based ids 2017-08-02 17:38:38 +02:00
Nicolas Grekas
0caed939cd [DI] Inline trivial private servives 2017-07-27 20:26:34 +02:00
Nicolas Grekas
01f05e3a62 minor #23672 [DI] cleanup (nicolas-grekas)
This PR was merged into the 4.0-dev branch.

Discussion
----------

[DI] cleanup

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

master-only cleanups

Commits
-------

8b11997 [DI] cleanup
2017-07-26 10:53:17 +02:00
Nicolas Grekas
3ea90b4802 Merge branch '3.4'
* 3.4:
  minor fix
  [DI] Make dumped docblocks less verbose
  [VarDumper] Dont use Stub objects for arrays
  [Form] Allow pass filter callback to delete_empty option.
2017-07-26 10:20:24 +02:00
Nicolas Grekas
f9c4621800 Merge branch '3.3' into 3.4
* 3.3:
  [DI] Make dumped docblocks less verbose
  [VarDumper] Dont use Stub objects for arrays
2017-07-26 10:10:47 +02:00
Nicolas Grekas
34c68f956c Merge branch '3.2' into 3.3
* 3.2:
  [DI] Make dumped docblocks less verbose
2017-07-26 09:58:57 +02:00
Nicolas Grekas
ceb4393ca5 Merge branch '2.8' into 3.2
* 2.8:
  [DI] Make dumped docblocks less verbose
2017-07-26 09:58:16 +02:00
Nicolas Grekas
57bf748d6e Merge branch '2.7' into 2.8
* 2.7:
  [DI] Make dumped docblocks less verbose
2017-07-26 09:56:01 +02:00
Nicolas Grekas
1ade5d8658 [DI] Make dumped docblocks less verbose 2017-07-26 09:27:50 +02:00
Nicolas Grekas
8b1199767b [DI] cleanup 2017-07-26 09:14:13 +02:00
Nicolas Grekas
643c54ce52 Merge branch '3.4'
* 3.4:
  [DI] use assertStringEqualsFile when possible
  [VarDumper] Adapt to php 7.2 changes
  [DI] Fix using private services in expressions
  [Form][TwigBridge] Don't render _method in form_rest() for a child form
  [Form] Static call TimezoneType::getTimezones
  Removed references for non existent validator constraints
  Suggest using quotes instead of Yaml::PARSE_KEYS_AS_STRINGS
  [DI] Fix test
  [Cache] Handle unserialization failures for Memcached
  Remove unused prop + added @deprecated
  Remove unused mocks/vars
  feature #22317 [Console] Make SymfonyQuestionHelper::ask optional by default (ro0NL)
  [DoctrineBridge][PropertyInfo] Added support for Doctrine Embeddables
  [Validator] Fix IbanValidator for ukrainian IBANs
  Router: allow HEAD method to be defined first
  [WebProfilerBundle] Display trace and context in the logger profiler
  Fixing a bug where if a core class was autowired, autowiring tried to autowire optional args as if they were required
2017-07-26 08:59:36 +02:00
Nicolas Grekas
4a3b3bef03 Merge branch '3.3' into 3.4
* 3.3:
  [DI] use assertStringEqualsFile when possible
  [VarDumper] Adapt to php 7.2 changes
  [DI] Fix using private services in expressions
  [Form][TwigBridge] Don't render _method in form_rest() for a child form
  [Form] Static call TimezoneType::getTimezones
  Removed references for non existent validator constraints
  Suggest using quotes instead of Yaml::PARSE_KEYS_AS_STRINGS
  [DI] Fix test
  [Cache] Handle unserialization failures for Memcached
  Remove unused prop + added @deprecated
  Remove unused mocks/vars
  [DoctrineBridge][PropertyInfo] Added support for Doctrine Embeddables
  [Validator] Fix IbanValidator for ukrainian IBANs
  Router: allow HEAD method to be defined first
  [WebProfilerBundle] Display trace and context in the logger profiler
  Fixing a bug where if a core class was autowired, autowiring tried to autowire optional args as if they were required
2017-07-26 08:46:38 +02:00
Nicolas Grekas
d56947698f Merge branch '3.2' into 3.3
* 3.2:
  [DI] use assertStringEqualsFile when possible
  [VarDumper] Adapt to php 7.2 changes
  [DI] Fix using private services in expressions
  [Form][TwigBridge] Don't render _method in form_rest() for a child form
  [Form] Static call TimezoneType::getTimezones
  Removed references for non existent validator constraints
  Remove unused mocks/vars
  [DoctrineBridge][PropertyInfo] Added support for Doctrine Embeddables
  [Validator] Fix IbanValidator for ukrainian IBANs
2017-07-26 08:42:48 +02:00
Nicolas Grekas
f3da6cf6a2 [DI] Fix using private services in expressions 2017-07-25 13:50:49 +02:00
Nicolas Grekas
320cf40b71 [DI] Fix resetting private services 2017-07-24 21:54:53 +02:00
Nicolas Grekas
c0c1881fe4 [DI] Optimize use of private and pre-defined services 2017-07-18 10:12:28 +02:00
Roland Franssen
63e26fcba6 [DI] Remove deprecated case insensitive service ids 2017-07-11 16:00:59 +02:00
Christian Flothmann
22f6091bc7 Merge branch '3.4'
* 3.4: (83 commits)
  add missing version attribute
  Show exception is checked twice in ExceptionController of twig
  allow SSI fragments configuration in XML files
  Display a better error message when the toolbar cannot be displayed
  [SecurityBundle] Add user impersonation info and exit action to the profiler
  render hidden _method field in form_rest()
  Add Doctrine Cache to dev dependencies to fix failing unit tests.
  return fallback locales whenever possible
  Fix Predis client cluster with pipeline
  [Dotenv] Test load() with multiple paths
  [Console] Fix catching exception type in QuestionHelper
  Improved the exception page when there is no message
  [WebProfilerBundle] Eliminate line wrap on count columnt (routing)
  [Profiler][Validator] Add a validator panel in profiler
  [Validator] replace hardcoded service id
  [Routing] Fix XmlFileLoader exception message
  Remove duplicate changelog entries
  [DI] Dedup tags when using instanceof/autoconfigure
  [Translation] Fix FileLoader::loadResource() php doc
  [Serializer] Fix workaround min php version
  ...
2017-06-24 14:58:08 +02:00
Nicolas Grekas
7c3d0c7a46 [DI] Reference instead of inline for array-params 2017-06-13 13:14:06 +02:00
Nicolas Grekas
86cae494b6 Merge branch '3.4'
* 3.4:
  Fix optional cache warmers are always instantiated whereas they should be lazy-loaded
  add some \ on PHP_VERSION_ID for 2.8
  [Di] Remove closure-proxy arguments
  [PropertyInfo][DoctrineBridge] The bigint Doctrine's type must be converted to string
2017-06-02 12:06:41 +02:00
Nicolas Grekas
57daadbf67 [Di] Remove closure-proxy arguments 2017-06-01 22:59:07 +02:00
Maxime Steinhausser
7091fb4df5 Remove PHP < 7.1.3 code 2017-05-22 08:50:05 +02:00
Nicolas Grekas
619f01c193 feature #22763 [DI] Remove deprecated isFrozen() (ro0NL)
This PR was squashed before being merged into the 4.0-dev branch (closes #22763).

Discussion
----------

[DI] Remove deprecated isFrozen()

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | should be
| Fixed tickets | #... <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!--highly recommended for new features-->

See #19673

Test failure seems unrelated.

Commits
-------

04b39a3 [DI] Remove deprecated isFrozen()
2017-05-21 21:26:24 +02:00
Roland Franssen
04b39a3a20 [DI] Remove deprecated isFrozen() 2017-05-21 21:26:22 +02:00
meyerbaptiste
c2db0c14e1 [DependencyInjection] Fix dumping of RewindableGenerator with empty IteratorArgument 2017-05-19 23:56:58 +02:00
Fabien Potencier
428b9bfa4f Merge branch '3.2'
* 3.2:
  [Console] Do not duplicate Helper::strlen() code
  [FrameworkBundle] Adding the extension XML
  [Form] Minor: Fix comment in ChoiceType
  [FrameworkBundle] AbstractConfigCommand: do not try registering bundles twice
  fixed CS
  fixed CS
  [DI] Fix PhpDumper blank lines around namespace
  fixed CS
  [Workflow] fix use directives
  [Workflow] Move twig extension registration to twig bundle
  Filesystem: annotate the one network test with a "network" group.
  [DependencyInjection] Don't store default deprecation template in every service definition instance
2017-05-11 09:47:52 -07:00
Fabien Potencier
b81a6629ee Merge branch '2.8' into 3.2
* 2.8:
  fixed CS
  [DI] Fix PhpDumper blank lines around namespace
  fixed CS
  Filesystem: annotate the one network test with a "network" group.
  [DependencyInjection] Don't store default deprecation template in every service definition instance
2017-05-07 18:51:21 -07:00
Fabien Potencier
57129de78c Merge branch '2.7' into 2.8
* 2.7:
  fixed CS
  Filesystem: annotate the one network test with a "network" group.
2017-05-07 09:04:05 -07:00
Fabien Potencier
219bce9916 fixed CS 2017-05-07 09:03:57 -07:00
Iltar van der Berg
f81c57755d [DI] Test references inside ServiceLocator are not inlined 2017-04-29 20:26:40 +02:00
Fabien Potencier
3471b58318 bug #22496 [DI] Fix inlining conflict by restricting IteratorArgument to Reference[] (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DI] Fix inlining conflict by restricting IteratorArgument to Reference[]

| Q             | A
| ------------- | ---
| Branch?       | 3.3
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

`Reference` found in `ArgumentInterface::getValue()` are currently not inlined.
While trying to do so (hint: I failed), I noticed that the current code is broken for `IteratorArgument` which can contain anonymous `Definition` for now, which are then not inlined correctly.

This PR restricts `IteratorArgument` to arrays of `Reference`, and improves a few related things found while doing it.

(fabbot failure is false positive)

Commits
-------

4d3dce1c0f [DI] Fix inlining conflict by restricting IteratorArgument to Reference[]
2017-04-23 15:36:34 -07:00
Nicolas Grekas
4d3dce1c0f [DI] Fix inlining conflict by restricting IteratorArgument to Reference[] 2017-04-21 14:38:43 +02:00
Nicolas Grekas
1dd3285c91 [DI] Reduce memory overhead of id normalization 2017-04-20 10:02:26 +02:00
Nicolas Grekas
9c53b3deb0 [DI] Restrict autowired registration to "same-vendor" namespaces 2017-04-06 11:28:30 +02:00
Nicolas Grekas
cc5e582dcf [BC BREAK][DI] Always autowire "by id" instead of using reflection against all existing services 2017-04-05 23:48:42 +02:00
Nicolas Grekas
8ff764be82 [DI] add ServiceLocatorTagPass::register() to share service locators 2017-04-01 13:57:21 +02:00
Nicolas Grekas
4da8884ca4 [DI] Throw on "configured-keys <> getSubscribedServices()" mismatch 2017-03-28 08:17:58 +02:00
Fabien Potencier
6cc9dc7586 feature #22060 [DI] Add "by-id" autowiring: a side-effect free variant of it based on the class<>id convention (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DI] Add "by-id" autowiring: a side-effect free variant of it based on the class<>id convention

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

This PR adds a new autowiring mode, based only on the class <> id convention.
This way of autowiring is free from any conflicting behavior, which is what I was looking for to begin with.

The expected DX is a bit more involving than the current way we do autowiring. But it's worth it to me, because it's plain predictable - a lot less "magic" imho.

So in this mode, for each `App\Foo` type hint, a reference to an "App\Foo" service will be created. If no such service exists, an exception will be thrown. To me, this opens a nice DX: when type hinting interfaces (which is the best practice), this will tell you when you need to create the explicit interface <> id mapping that is missing - thus encourage things to be made explicit, but only when required, and gradually, in a way that will favor discoverability by devs.

Of course, this is opt-in, and BC. You'd need to do eg in yaml: `autowire: by_id`.
For consistency, the current mode (`autowire: true`) can be configured using `autowire: by_type`.

Commits
-------

c298f2a90c [DI] Add "by-id" autowiring: a side-effect free variant of it based on the class<>id convention
2017-03-25 13:18:59 -07:00
Nicolas Grekas
23fa3a09bf Revert "feature #20973 [DI] Add getter injection (nicolas-grekas)"
This reverts commit 2183f98f54, reversing
changes made to b465634a55.
2017-03-25 15:07:47 +01:00
Nicolas Grekas
c298f2a90c [DI] Add "by-id" autowiring: a side-effect free variant of it based on the class<>id convention 2017-03-24 15:54:23 +01:00
Nicolas Grekas
9b7df39865 [DI] Add and wire ServiceSubscriberInterface 2017-03-22 20:26:09 +01:00
Roland Franssen
6abd312800 [DI] Deprecate Container::isFrozen and introduce isCompiled 2017-03-22 19:49:34 +01:00
Nicolas Grekas
08c2ee32f1 [*Bundle] Add autowiring aliases for common services 2017-03-21 22:34:27 +01:00
Nicolas Grekas
4d48b58d19 Merge branch '3.2'
* 3.2:
  [Yaml] CS
  [DI] Fix PhpDumper generated doc block
  #20411 fix Yaml parsing for very long quoted strings
  [Workflow] add Phpdoc for better IDE support
  fix package name in conflict rule
  improve message when workflows are missing
  [Doctrine Bridge] fix priority for doctrine event listeners
  Use PHP functions as array_map callbacks when possible
  [Validator] revert wrong Phpdoc change
  Use proper line endings
2017-03-20 11:06:58 +01:00
Nicolas Grekas
d7e74b964f Merge branch '2.8' into 3.2
* 2.8:
  [DI] Fix PhpDumper generated doc block
  #20411 fix Yaml parsing for very long quoted strings
  [Doctrine Bridge] fix priority for doctrine event listeners
  Use PHP functions as array_map callbacks when possible
  [Validator] revert wrong Phpdoc change
  Use proper line endings
2017-03-20 10:32:19 +01:00
Nicolas Grekas
58b3ee7616 [DI] Fix PhpDumper generated doc block 2017-03-20 09:19:13 +01:00
Nicolas Grekas
5d230b5871 [DI] Introduce "container.service_locator" tag, replaces ServiceLocatorArgument 2017-03-17 17:49:32 +01:00
Nicolas Grekas
b77d97a6a3 bug #21937 [DependencyInjection] Handle void return types in closure-proxy (pierredup)
This PR was squashed before being merged into the 3.3-dev branch (closes #21937).

Discussion
----------

[DependencyInjection] Handle void return types in closure-proxy

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | N/A
| License       | MIT
| Doc PR        | N/A

I recently got an error when registering an event listener that specifies a `void` return type. Dumping the container generates a closure proxy that always returns a value, which then conflicts with the return type hint.

E.G the following code is generated (some class names removed for readability)

```
$instance->addListener('kernel.view', /** @closure-proxy ... */ function (...\GetResponseForControllerResultEvent $event): void {
    return ${($_ = isset($this->services[listener']) ? $this->services['listener'] : $this->get('listener')) && false ?: '_'}->onKernelView($event);
}, 128);
```

This then causes the error `A void function must not return a value in ...`

So void return types should be handled by removing the `return` inside the closure

Commits
-------

a5c5ad1 [DependencyInjection] Handle void return types in closure-proxy
2017-03-10 10:24:40 +01:00
Pierre du Plessis
a5c5ad1db1 [DependencyInjection] Handle void return types in closure-proxy 2017-03-10 10:24:38 +01:00
Nicolas Grekas
35977fdf0a [DI] Fix dumping null ServiceClosureArgument 2017-03-09 09:35:59 +01:00
Nicolas Grekas
372ff7ce7d [DI] Replace PHP7-conditional return-type checks by regular type-hints that work on PHP5 2017-03-06 09:56:20 +01:00
Nicolas Grekas
1d9663326e [DI] Allow creating ServiceLocator-based services in extensions 2017-03-05 14:36:05 +01:00
Fabien Potencier
ae52490f13 minor #21808 Fix DI test (chalasr)
This PR was merged into the 3.3-dev branch.

Discussion
----------

Fix DI test

| Q             | A
| ------------- | ---
| Branch?       | master
| Tests pass?   | yes

Should fix appveyor/travis builds

Commits
-------

8740e44086 Fix DI test
2017-02-28 17:01:26 -08:00
Robin Chalas
8740e44086 Fix DI test 2017-03-01 01:03:24 +01:00
Fabien Potencier
526d396ccd bug #21627 [DependencyInjection] make the service container builder register its own self referencing definition (hhamon)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DependencyInjection] make the service container builder register its own self referencing definition

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | ~
| License       | MIT
| Doc PR        | ~

Commits
-------

9c97496b5f [DependencyInjection] make the service container builder register the definition of its related service container service (and aliases) in order to make compiler passes be able to reference the special service_container service.
2017-02-28 14:49:08 -08:00
Romain Neutron
671694d0d6
[master] Fix issues reported by static analyse 2017-02-28 16:38:18 +01:00
Nicolas Grekas
6bede45549 Merge branch '3.2'
* 3.2:
  [2.7] Fix issues reported by static analyse
  [Serializer] Reduce nesting in YamlFileLoader
  [DependencyInjection] add missing dumped private services list in a container frozen constructor.
2017-02-28 14:19:28 +01:00
Hugo Hamon
9c97496b5f [DependencyInjection] make the service container builder register the definition of its related service container service (and aliases) in order to make compiler passes be able to reference the special service_container service. 2017-02-27 17:26:21 +01:00
Hugo Hamon
838d9ca6c0 [DependencyInjection] add missing dumped private services list in a container frozen constructor. 2017-02-27 16:48:04 +01:00
Fabien Potencier
d7aec48fa8 Merge branch '3.2'
* 3.2:
  Revert "bug #21436 [DependencyInjection] check for circular refs caused by method calls (xabbuh)"
  Static code analysis with Php Inspections (EA Extended)
  [VarDumper] Added missing persistent stream cast
  remove unused translation file
  reverted usage of isNan
2017-02-16 14:50:29 -08:00
Fabien Potencier
ea12123bcf Merge branch '2.8' into 3.2
* 2.8:
  Revert "bug #21436 [DependencyInjection] check for circular refs caused by method calls (xabbuh)"
  Static code analysis with Php Inspections (EA Extended)
  [VarDumper] Added missing persistent stream cast
2017-02-16 14:46:52 -08:00
Fabien Potencier
f53672f82b Merge branch '2.7' into 2.8
* 2.7:
  Revert "bug #21436 [DependencyInjection] check for circular refs caused by method calls (xabbuh)"
  Static code analysis with Php Inspections (EA Extended)
  [VarDumper] Added missing persistent stream cast
2017-02-16 14:43:37 -08:00
Fabien Potencier
68d6415955 Revert "bug #21436 [DependencyInjection] check for circular refs caused by method calls (xabbuh)"
This reverts commit 3441b1586f, reversing
changes made to d1f4cb27fd.
2017-02-16 14:39:07 -08:00
Fabien Potencier
6580a49706 Merge branch '3.2'
* 3.2:
  Permit empty suffix on Windows
  fixed CS
  [FrameworkBundle] Remove unused import
  [Console][Table] fixed render when using multiple rowspans.
  add docblocks for Twig url and path function to improve ide completion
  check for circular refs caused by method calls
  [Serializer] fix upper camel case conversion (see #21399)
  [DI] Auto register extension configuration classes as a resource
  [Console] Updated phpdoc on return types
2017-02-16 06:15:30 -08:00
Fabien Potencier
b3ba37d862 Merge branch '2.8' into 3.2
* 2.8:
  Permit empty suffix on Windows
  [Console][Table] fixed render when using multiple rowspans.
  add docblocks for Twig url and path function to improve ide completion
  check for circular refs caused by method calls
  [Serializer] fix upper camel case conversion (see #21399)
  [DI] Auto register extension configuration classes as a resource
  [Console] Updated phpdoc on return types
2017-02-16 06:07:22 -08:00
Fabien Potencier
e103e1d1db Merge branch '2.7' into 2.8
* 2.7:
  Permit empty suffix on Windows
  [Console][Table] fixed render when using multiple rowspans.
  add docblocks for Twig url and path function to improve ide completion
  check for circular refs caused by method calls
  [Serializer] fix upper camel case conversion (see #21399)
  [DI] Auto register extension configuration classes as a resource
  [Console] Updated phpdoc on return types
2017-02-16 06:06:24 -08:00
Maxime Steinhausser
aa9074d25a [DI][FrameworkBundle] ServiceLocator: Tests dumpers & update descriptors 2017-02-13 20:22:27 +01:00
Robin Chalas
e7935c0adb
[DI] Replace container injection by explicit service locators
[SecurityBundle] Avoid container injection in FirewallMap
2017-02-13 11:05:06 +01:00
Nicolas Grekas
ad5b5b5d93 [DI] Refacto / cleanup / minor fixes 2017-02-08 13:32:07 +01:00
Nicolas Grekas
caba97a62b feature #21455 [DI] Allow to count on lazy collection arguments (ogizanagi)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DI] Allow to count on lazy collection arguments

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/21450#issuecomment-275931764
| License       | MIT
| Doc PR        | todo (with https://github.com/symfony/symfony-docs/issues/7336)

When using the new iterator feature of the DI component to lazy load collection, we always know the number of arguments in the collection (only the invalidBehavior set to `IGNORE_ON_INVALID_REFERENCE` may change this number). So we are able to generate and use a `RewindableGenerator` implementing `\Countable` by computing this value ahead.

So, in a service accepting `array|iterable`, like in the `GuardAuthenticationListener` (see #21450):

```php
class GuardAuthenticationListener implements ListenerInterface
{
    private $guardAuthenticators;

    /**
       * @param iterable|GuardAuthenticatorInterface[]  $guardAuthenticators   The authenticators, with keys that match what's passed to GuardAuthenticationProvider
       * @param LoggerInterface                         $logger                A LoggerInterface instance
    */
    public function __construct($guardAuthenticators, LoggerInterface $logger = null)
    {
          // ...
    }

    public function handle(GetResponseEvent $event)
    {
        if (null !== $this->logger) {
            $context = array()
            if (is_array($this->guardAuthenticators) || $this->guardAuthenticators instanceof \Countable) {
                $context['authenticators'] = count($this->guardAuthenticators);
            }
            $this->logger->debug('Checking for guard authentication credentials.', $context);
        }
        // ...
    }
}
```

we still keep the ability to call count without loosing the lazy load benefits.

Commits
-------

f23e460 [DI] Allow to count on lazy collection arguments
2017-02-02 15:11:42 +01:00
Jean Pasqualini
2440b0f05d [DI] : Fix bad generation of proxy class when use overriden getter on class with constructor
- [X] Add test fail
- [X] Fix bug
- [X] Run test pass
2017-02-02 11:50:54 +01:00
Maxime Steinhausser
f23e460fad [DI] Allow to count on lazy collection arguments 2017-01-31 10:40:15 +01:00
Christian Flothmann
fe4f7eccf7 check for circular refs caused by method calls 2017-01-28 09:01:30 +01:00
Nicolas Grekas
cb498580d1 [DI] Add getter injection 2017-01-28 08:49:57 +01:00
Fabien Potencier
735d0a6ce7 Revert "fixed typo"
This reverts commit 6830d9f4c9.
2017-01-21 08:37:26 -08:00
Fabien Potencier
6830d9f4c9 fixed typo 2017-01-21 08:33:48 -08:00
Nicolas Grekas
6acb80f48f [DI] Factorize compiler passes around new AbstractRecursivePass 2017-01-18 21:44:53 +01:00
Fabien Potencier
f7679f74ae feature #21244 [DI] Remove synthetic services from methodMap + generated methods (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DI] Remove synthetic services from methodMap + generated methods

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

For synthetic services, the generated methods are just dead code to fill opcache ;)
And having them in "methodMap" prevents using the property for checking if a service comes from a (non-synthetic) definition or not.
This prepares some changes that we'd like to do in 4.0, see #19668.

Commits
-------

c1e1e999f3 [DI] Remove synthetic services from methodMap + generated methods
2017-01-15 08:42:11 -08:00
Nicolas Grekas
c1e1e999f3 [DI] Remove synthetic services from methodMap + generated methods 2017-01-15 16:01:29 +01:00
Nicolas Grekas
ce0ee1e484 [DI] Mark generated containers as final 2017-01-13 08:23:38 +01:00