Commit Graph

289 Commits

Author SHA1 Message Date
Fabien Potencier
d6b68e19e5 Merge branch '3.3' into 3.4
* 3.3:
  [Config] Fix dumped files invalidation by OPCache
  [DI] Allow setting any public non-initialized services
2017-10-04 11:58:07 -07:00
Nicolas Grekas
3e8076023d [DI] Improve some deprecation messages 2017-10-04 19:15:30 +02:00
Nicolas Grekas
d314b1ff62 [DI] Allow setting any public non-initialized services 2017-10-04 09:45:46 +02:00
Nicolas Grekas
ff2ab5831a [DI] Fix private-by-default BC layer 2017-09-19 23:28:23 +02:00
Nicolas Grekas
e266fedfe0 Merge branch '3.4'
* 3.4:
  [DI] Turn services and aliases private by default, with BC layer
  [WebProfiler] Fix z-index for pinned AJAX block
  Require v3.4+ of the var-dumper component
2017-09-19 21:46:02 +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
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
Nicolas Grekas
501c1b5d0e Merge branch '3.4'
* 3.4:
  Made some SecurityBundle tests case-insensitive to prepare for future Symfony versions
  [Console] Added a case-insensitive fallback for console command names
  fix merge
  [DI] Fix dumping abstract with YamlDumper
  restrict reflection doc block
  [DI] Fix YamlDumper not dumping abstract and autoconfigure
2017-08-15 10:24:11 +02:00
Roland Franssen
8a1d16839e [DI] Case sensitive parameter names 2017-08-14 17:16:04 +02:00
Nicolas Grekas
d1c754d8ca Merge branch '3.3' into 3.4
* 3.3:
  [DI] Fix dumping abstract with YamlDumper
  restrict reflection doc block
  [DI] Fix YamlDumper not dumping abstract and autoconfigure
2017-08-10 21:43:00 +02:00
Nicolas Grekas
daa0251768 Merge branch '2.7' into 2.8
* 2.7:
  [DI] Fix dumping abstract with YamlDumper
2017-08-10 16:42:21 +02:00
Nicolas Grekas
c396e8cb9c [DI] Fix dumping abstract with YamlDumper 2017-08-10 16:37:13 +02:00
Nicolas Grekas
9295a4f1eb Merge branch '3.4'
* 3.4: (23 commits)
  [DI] Allow dumping inline services in Yaml
  fixed CS
  [2.8] Modify 2.8 upgrade doc - key option is deprecated.
  Fix lock failling test
  [Debug] Correctly detect methods not from the same vendor
  [HttpKernel] Deprecated commands auto-registration
  Fix minors in date caster
  [FrameworkBundle] Catch Fatal errors in commands registration
  [Debug] Detect internal and deprecated methods
  [Profiler] Make the validator toolbar item consistent with the form one
  [DebugBundle] Reword an outdated comment about var dumper wiring
  updated CHANGELOG
  [HttpFoundation] Remove length limit on ETag
  [DI] Fix some docblocks
  [DI] Fix some docblocks
  Fixed the exception page design in responsive mode
  [Console] Log exit codes as debug messages instead of errors
  Fixed UPGRADE-4.0 about Container::set
  Ignore memcached missing key error on dession destroy
  [FrameworkBundle] Allow micro kernel to subscribe events easily
  ...
2017-08-10 16:21:53 +02:00
Nicolas Grekas
e5bbf3f4f3 [DI] Allow dumping inline services in Yaml 2017-08-10 13:54:24 +02:00
Nicolas Grekas
685ff0e280 [DI] Fix YamlDumper not dumping abstract and autoconfigure 2017-08-10 13:45:16 +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
Guilhem Niot
969a20780e [DependencyInjection] Deprecate autowiring service auto-registration 2017-08-03 11:07: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
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
a280e81ebb Merge branch '2.8' into 3.2
* 2.8:
  [DI] use assertStringEqualsFile when possible
  [VarDumper] Adapt to php 7.2 changes
  [Form][TwigBridge] Don't render _method in form_rest() for a child form
  [DoctrineBridge][PropertyInfo] Added support for Doctrine Embeddables
  [Validator] Fix IbanValidator for ukrainian IBANs
2017-07-26 08:34:07 +02:00
Nicolas Grekas
17670e4986 Merge branch '2.7' into 2.8
* 2.7:
  [DI] use assertStringEqualsFile when possible
  [VarDumper] Adapt to php 7.2 changes
  [Form][TwigBridge] Don't render _method in form_rest() for a child form
  [Validator] Fix IbanValidator for ukrainian IBANs
2017-07-26 08:29:15 +02:00
Nicolas Grekas
eebae7ec71 [DI] use assertStringEqualsFile when possible 2017-07-26 08:11:54 +02:00
Nicolas Grekas
f3da6cf6a2 [DI] Fix using private services in expressions 2017-07-25 13:50:49 +02:00
Nicolas Grekas
46c729033f Merge branch '3.4'
* 3.4: (22 commits)
  Fix lazy commands registration
  [TwigBridge] deprecate TwigRenderer
  [FrameworkBundle] Set default public directory on install assets
  [Security] Fix wrong term in UserProviderInterface
  [HttpFoundation] Set meta refresh time to 0 in RedirectResponse content
  disable inlining deprecated services
  [Stopwatch] Fix precision for root section
  [Cache] add constructor docblocks for clarity
  [WebServerBundle] allowed public/ root directory to be auto-discovered along side web/
  [WebServerBundle] remove duplicate code
  [SecurityBundle] Clarify deprecation in UserPasswordEncoderCommand::getContainer
  [Profiler][Validator] ValidatorDataCollector: use new DataCollector::getCasters() method
  [Profiler] Fix data collector getCasters() call
  [VarDumper] Added setMinDepth to VarCloner
  remove symfony/process suggestion
  [DI] Remove unused dynamic property
  [Cache] add constructor docblocks for clarity
  [Security] validate empty passwords again
  [Process] Fixed issue between process builder and exec
  non-conflicting anonymous service ids across files
  ...
2017-07-17 17:37:04 +02:00
Fabien Potencier
1e88b35380 Merge branch '3.3' into 3.4
* 3.3:
  [FrameworkBundle] Set default public directory on install assets
  [Security] Fix wrong term in UserProviderInterface
  [HttpFoundation] Set meta refresh time to 0 in RedirectResponse content
  disable inlining deprecated services
  [Cache] add constructor docblocks for clarity
  [WebServerBundle] allowed public/ root directory to be auto-discovered along side web/
  [WebServerBundle] remove duplicate code
  [SecurityBundle] Clarify deprecation in UserPasswordEncoderCommand::getContainer
  [Cache] add constructor docblocks for clarity
  [Security] validate empty passwords again
  [DI] Remove irrelevant comment from container
  [TwigBridge] cleaner implementation of the TwigRenderer
2017-07-17 16:07:19 +02:00
Fabien Potencier
649e2cd8bb Merge branch '3.2' into 3.3
* 3.2:
  [Security] Fix wrong term in UserProviderInterface
  [HttpFoundation] Set meta refresh time to 0 in RedirectResponse content
  disable inlining deprecated services
  [Cache] add constructor docblocks for clarity
  [Security] validate empty passwords again
  [DI] Remove irrelevant comment from container
  [TwigBridge] cleaner implementation of the TwigRenderer
2017-07-17 16:07:10 +02:00
Fabien Potencier
d3ca5083bf Merge branch '2.8' into 3.2
* 2.8:
  [Security] Fix wrong term in UserProviderInterface
  [HttpFoundation] Set meta refresh time to 0 in RedirectResponse content
  disable inlining deprecated services
  [Security] validate empty passwords again
  [DI] Remove irrelevant comment from container
  [TwigBridge] cleaner implementation of the TwigRenderer
2017-07-17 16:04:01 +02:00
Roland Franssen
9f969529f0 [DI] Removed deprecated setting private/pre-defined services 2017-07-17 13:19:27 +02:00
Alessandro Chitolina
6ab8ca0d36
disable inlining deprecated services 2017-07-17 11:57:18 +02:00
Nicolas Grekas
8e6accc4d0 fix merge 2017-07-12 16:41:59 +02:00
Nicolas Grekas
bdaa7b118e Merge branch '3.4'
* 3.4:
  Add TokenProcessor
  [DI] Handle root namespace in service definitions
  Add support for command lazy-loading
  Use rawurlencode() to transform the Cookie into a string
  [TwigBundle] Added a RuntimeExtensionInterface to take advantage of autoconfigure
  [Process] Fix parsing args on Windows
  Add exculde verbosity test
  [HttpKernel][VarDumper] Truncate profiler data & optim perf
  [DI] Allow imports in string format for YAML
  [Validator] Allow to use a property path to get value to compare in comparison constraints
  [Security] Fix authentication.failure event not dispatched on AccountStatusException
  add option to define the access decision manager
  Add support for doctrin/dbal 2.6 types
2017-07-12 16:12:10 +02:00
Nicolas Grekas
4324804357 Merge branch '3.3' into 3.4
* 3.3:
  [DI] Handle root namespace in service definitions
  Use rawurlencode() to transform the Cookie into a string
  [Process] Fix parsing args on Windows
  [HttpKernel][VarDumper] Truncate profiler data & optim perf
  [Security] Fix authentication.failure event not dispatched on AccountStatusException
2017-07-12 15:09:21 +02:00
Nicolas Grekas
6b5d35f058 Merge branch '3.2' into 3.3
* 3.2:
  [DI] Handle root namespace in service definitions
  Use rawurlencode() to transform the Cookie into a string
  [Security] Fix authentication.failure event not dispatched on AccountStatusException
2017-07-12 15:03:20 +02:00
Nicolas Grekas
e51c1a5658 Merge branch '2.8' into 3.2
* 2.8:
  [DI] Handle root namespace in service definitions
  Use rawurlencode() to transform the Cookie into a string
  [Security] Fix authentication.failure event not dispatched on AccountStatusException
2017-07-12 15:02:55 +02:00
Nicolas Grekas
0c6096fc32 Merge branch '2.7' into 2.8
* 2.7:
  [DI] Handle root namespace in service definitions
  Use rawurlencode() to transform the Cookie into a string
  [Security] Fix authentication.failure event not dispatched on AccountStatusException
2017-07-12 14:59:33 +02:00
Roland Franssen
05170c84a2 [DI] Handle root namespace in service definitions 2017-07-12 13:53:12 +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
6f8430e84c Merge branch '3.4'
* 3.4:
  [TwigBridge] Fix namespaced classes
  bumped Symfony version to 3.3.2
  updated VERSION for 3.3.1
  updated CHANGELOG for 3.3.1
  [DependencyInjection] Fix named args support in ChildDefinition
  [Cache] Fallback to positional when keyed results are broken
  [HttpFoundation][FrameworkBundle] Revert "trusted proxies" BC break
  [Cache] MemcachedAdapter not working with TagAwareAdapter
  Remove closure-proxy leftovers
  fix used class name in deprecation message
  [DependencyInjection] Use more clear message when unused environment variables detected
  [Form][Profiler] Fixes form collector triggering deprecations
  mitigate BC break with empty trusted_proxies
  [Profiler] Never wrap in code excerpts
  [Form][FrameworkBundle] Remove non-existing arg for data_collector.form
  explain that a role can be an instance of Role
  [Cache] fix Redis scheme detection
  Implement ServiceSubscriberInterface in optional cache warmers
  Deprecate passing a concrete service in optional cache warmers
  mix attr options between type-guess options and user options
2017-06-06 07:08:36 +02:00
Nicolas Grekas
7769179e0f Merge branch '3.2' into 3.3
* 3.2:
  [TwigBridge] Fix namespaced classes
  [Cache] MemcachedAdapter not working with TagAwareAdapter
  [DependencyInjection] Use more clear message when unused environment variables detected
  mix attr options between type-guess options and user options
2017-06-06 05:13:52 +02:00
Oleg Voronkovich
6dbdb1b750 [DependencyInjection] Use more clear message when unused environment variables detected 2017-06-03 08:50:11 -07: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
Fabien Potencier
4c7da9fc56 Merge branch '3.4'
* 3.4:
  [HttpFoundation] Add Request::HEADER_X_FORWARDED_AWS_ELB const
  [DI] Avoid private call to Container::has()
  Fixing missing abstract attribute in XmlDumper
  [Form] Remove DateTimeToStringTransformer $parseUsingPipe option
  [Yaml] parse PHP constants in mapping keys
  don't call getTrustedHeaderName() if possible
  Fix file perms
  Fixed filename in help text for update-data.php
2017-05-25 16:11:32 -07:00
Fabien Potencier
bf85c7d4e2 Merge branch '3.2' into 3.3
* 3.2:
  [DI] Avoid private call to Container::has()
  Fixing missing abstract attribute in XmlDumper
  [Form] Remove DateTimeToStringTransformer $parseUsingPipe option
  Fix file perms
  Fixed filename in help text for update-data.php
2017-05-25 16:10:31 -07:00
Fabien Potencier
810623df5e Merge branch '2.8' into 3.2
* 2.8:
  Fixing missing abstract attribute in XmlDumper
  [Form] Remove DateTimeToStringTransformer $parseUsingPipe option
  Fix file perms
  Fixed filename in help text for update-data.php
2017-05-25 15:59:05 -07:00
Fabien Potencier
321e41cb6b Merge branch '2.7' into 2.8
* 2.7:
  Fixing missing abstract attribute in XmlDumper
  [Form] Remove DateTimeToStringTransformer $parseUsingPipe option
  Fix file perms
  Fixed filename in help text for update-data.php
2017-05-25 15:57:22 -07:00
Roland Franssen
56892819e3 [DI] Avoid private call to Container::has() 2017-05-25 14:59:08 +02:00
Ryan Weaver
40f60ec60d Fixing missing abstract attribute in XmlDumper
Caused mis-reporting of abstract key (always no) in debug:container
2017-05-25 08:56:45 -04:00
Roland Franssen
c1c525cdfe [DI] Remove deprecated dumping an uncompiled container 2017-05-22 09:11:02 +02:00
Maxime Steinhausser
7091fb4df5 Remove PHP < 7.1.3 code 2017-05-22 08:50:05 +02:00
meyerbaptiste
c2db0c14e1 [DependencyInjection] Fix dumping of RewindableGenerator with empty IteratorArgument 2017-05-19 23:56:58 +02:00
Iltar van der Berg
f81c57755d [DI] Test references inside ServiceLocator are not inlined 2017-04-29 20:26:40 +02:00
Fabien Potencier
b9ee33fd03 bug #22457 [DI] Allow service subscribers to leverage autowiring to know where their locator should be injected (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DI] Allow service subscribers to leverage autowiring to know where their locator should be injected

| 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        | -

Commits
-------

e407b3d42e [DI] Allow service subscribers to leverage autowiring to know where the locator should be injected
2017-04-25 09:50:48 -04:00
Nicolas Grekas
4d3dce1c0f [DI] Fix inlining conflict by restricting IteratorArgument to Reference[] 2017-04-21 14:38:43 +02:00
Nicolas Grekas
e407b3d42e [DI] Allow service subscribers to leverage autowiring to know where the locator should be injected 2017-04-19 21:52:02 +02:00
Nicolas Grekas
9c53b3deb0 [DI] Restrict autowired registration to "same-vendor" namespaces 2017-04-06 11:28:30 +02:00
Nicolas Grekas
4da8884ca4 [DI] Throw on "configured-keys <> getSubscribedServices()" mismatch 2017-03-28 08:17:58 +02: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
9b7df39865 [DI] Add and wire ServiceSubscriberInterface 2017-03-22 20:26:09 +01:00
Fabien Potencier
7f7b897ee2 feature #22098 [*Bundle] Add autowiring aliases for common services (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[*Bundle] Add autowiring aliases for common services

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

As spotted while working on #22060, we're missing many aliases to prevent any autowiring ambiguities.
I also removed the "Symfony\Component\EventDispatcher\EventDispatcher" and "Symfony\Component\DependencyInjection\Container" aliases: we'd better encourage using the corresponding interfaces instead.
On ControllerTrait, we need to type hint against SessionInterface, because otherwise, when session support is disabled, autowiring still auto-registers an "autowired.Session" service, which defeats the purpose of being able to enable/disable it.

Commits
-------

08c2ee32f1 [*Bundle] Add autowiring aliases for common services
2017-03-21 14:56:35 -07:00
Fabien Potencier
b0482963f1 Merge branch '3.2'
* 3.2:
  Fixes a typo in the form collector styles
  [WebProfilerBundle] Fix content-security-policy compatibility
  [WebProfilerBundle] Drop dead code
  [HttpKernel] Fixed bug with purging of HTTPS URLs
  fix some risky tests
  [DI] [YamlFileLoader] change error message of a non existing file
  [WebProfilerBundle] Handle Content-Security-Policy-Report-Only header correctly
  [Security] Added option to return true in the method isRememberMeRequested
2017-03-21 14:44:47 -07:00
Fabien Potencier
8cd835e658 Merge branch '2.8' into 3.2
* 2.8:
  Fixes a typo in the form collector styles
  [HttpKernel] Fixed bug with purging of HTTPS URLs
  fix some risky tests
  [DI] [YamlFileLoader] change error message of a non existing file
  [Security] Added option to return true in the method isRememberMeRequested
2017-03-21 14:44:32 -07:00
Fabien Potencier
295a8e0a82 Merge branch '2.7' into 2.8
* 2.7:
  [HttpKernel] Fixed bug with purging of HTTPS URLs
  fix some risky tests
  [DI] [YamlFileLoader] change error message of a non existing file
  [Security] Added option to return true in the method isRememberMeRequested
2017-03-21 14:39:01 -07:00
Nicolas Grekas
08c2ee32f1 [*Bundle] Add autowiring aliases for common services 2017-03-21 22:34:27 +01:00
Christian Flothmann
abf1787dcc fix some risky tests 2017-03-20 16:03:41 +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
Fabien Potencier
d236af6757 fixed typo 2017-03-07 18:50:36 -08:00
Baptiste Clavié
a6590b3659
[DI] Add a check on the getReflectionClass call 2017-03-07 18:13:07 +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
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
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
Nicolas Grekas
b69ca56e1c bug #21782 [DependencyInjection] add missing dumped private services list in a container frozen constructor. (hhamon)
This PR was merged into the 3.2 branch.

Discussion
----------

[DependencyInjection] add missing dumped private services list in a container frozen constructor.

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

Commits
-------

838d9ca [DependencyInjection] add missing dumped private services list in a container frozen constructor.
2017-02-28 13:46:37 +01:00
Fabien Potencier
afff0ce43e Merge branch '3.2'
* 3.2:
  [SecurityBundle] only pass relevant user provider
  [Intl] Make tests pass after the ICU data update
  [Intl] Update ICU data to 58.2
  do not register the test listener twice
  [DependencyInjection] removed dead code.
  [Yaml] Stop replacing NULLs when merging
  [WebServerBundle] fixed html attribute escape
2017-02-27 18:34:20 -08:00
Fabien Potencier
65b7d43ac3 Merge branch '2.8' into 3.2
* 2.8:
  [SecurityBundle] only pass relevant user provider
  [Intl] Make tests pass after the ICU data update
  [Intl] Update ICU data to 58.2
  do not register the test listener twice
  [DependencyInjection] removed dead code.
  [Yaml] Stop replacing NULLs when merging
  [WebServerBundle] fixed html attribute escape
2017-02-27 18:30:50 -08:00
Fabien Potencier
4d4dec3d41 Merge branch '2.7' into 2.8
* 2.7:
  [SecurityBundle] only pass relevant user provider
  [Intl] Make tests pass after the ICU data update
  [Intl] Update ICU data to 58.2
  [DependencyInjection] removed dead code.
  [Yaml] Stop replacing NULLs when merging
2017-02-27 18:24:56 -08: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
Hugo Hamon
158b689e76 [DependencyInjection] removed dead code. 2017-02-27 16:11:02 +01:00
Peter Rehm
e9f3faf840 Refactored other PHPUnit method calls to work with namespaced PHPUnit 6 2017-02-21 11:20:16 +01:00
Nicolas Grekas
7a618fbd5f Merge branch '3.2'
* 3.2:
  Fix typo in process error message
  Update to PHPUnit namespaces
  Minor typo fix messsagesData -> messagesData
  remove translation data collector when not usable
2017-02-18 18:35:19 +01:00
Nicolas Grekas
66cad2e4c5 Merge branch '2.8' into 3.2
* 2.8:
  Update to PHPUnit namespaces
  Minor typo fix messsagesData -> messagesData
  remove translation data collector when not usable
2017-02-18 18:28:00 +01:00