Commit Graph

39 Commits

Author SHA1 Message Date
Fabien Potencier
33a001e460 switched array() to [] 2019-01-16 10:39:14 +01:00
Nicolas Grekas
f5939a8336 Merge branch '2.8' into 3.4
* 2.8:
  Fix Clidumper tests
  Enable the fixer enforcing fully-qualified calls for compiler-optimized functions
  Apply fixers
  Disable the native_constant_invocation fixer until it can be scoped
  Update the list of excluded files for the CS fixer
2018-07-26 10:45:46 +02:00
Christophe Coevoet
04654cfeb3 Enable the fixer enforcing fully-qualified calls for compiler-optimized functions 2018-07-24 12:05:38 +02:00
Nicolas Grekas
fe7f26d4f3 [DI] Throw accurate failures when accessing removed services 2017-10-07 23:38:34 +02:00
Konstantin.Myakshin
4993b1c14c Allow to get alternatives when ServiceNotFoundException occurs. 2017-08-17 15:22:42 +03: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
Ryan Weaver
2d3e44e11e Fixing a bug where an autowiring exception was thrown even when that service was removed
The specific report was for a service with a private constructor. This also clarifies
that the AutowirePass throws AutowiringFailedException for all situations. And a bug
was fixed in the constructor of AutowiringFailedException
2017-05-31 09:52:17 -04:00
Ryan Weaver
f4913feaa8 Fixing a bug where services that were eventually removed could cause autowire errors 2017-05-10 09:32:00 -04:00
Grégoire Paris
bde0efd01c
Implement PSR-11
Delegate lookup is optional and thus, not implemented.
2017-02-02 08:42:59 +01:00
Fabien Potencier
1bcade56e6 feature #19681 [DI] Allow injecting ENV parameters at runtime using %env(MY_ENV_VAR)% (nicolas-grekas)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[DI] Allow injecting ENV parameters at runtime using %env(MY_ENV_VAR)%

| Q             | A
| ------------- | ---
| Branch?       | master
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |  #10138, #7555, #16403, #18155
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/6918

This is an alternative approach to #18155 for injecting env vars into container configurations.

With this PR, anywhere parameters are allowed, one can use `%env(ENV_VAR)%` to inject a dynamic env var. Additionally, if one sets a value to such parameters in e.g. the `parameter.yml` file (`env(ENV_VAR): foo`), this value will be used as a default value when the env var is not defined. If no default value is specified, an `EnvVarNotFoundException` will be thrown at runtime.

Unlike previous attempts that also used parameters (#16403), the implementation is compatible with DI extensions: before being dumped, env vars are resolved to uniquely identifiable string placeholders that can get through DI extensions manipulations. When dumped, these unique placeholders are replaced by dynamic calls to a getEnv method..

ping @magnusnordlander @dzuelke @fabpot

Commits
-------

bac2132 [DI] Allow injecting ENV parameters at runtime using %env(MY_ENV_VAR)% syntax
2016-09-15 10:44:52 -07:00
WouterJ
df70f0622f [DependencyInjection] Improve ParameterNotFoundException when accessing a nested parameter 2016-09-14 14:25:50 -07:00
Nicolas Grekas
bac2132aeb [DI] Allow injecting ENV parameters at runtime using %env(MY_ENV_VAR)% syntax 2016-09-10 12:12:34 +02:00
Fabien Potencier
5f8a196346 Merge branch '2.8' into 3.0
* 2.8:
  [Console] use ANSI escape sequences in ProgressBar overwrite method
  [HttpKernel] Fix wrong number of arguments in call of ExceptionListener::logException()
  [DependencyInjection] Remove YAML check in CrossCheckTest
  [Process] Consistently use getProcess() in tests
  [LDAP] Free the search result after a search to free memory
  [DependencyInjection] fix phpDoc
2016-04-14 17:30:28 +02:00
JhonnyL
46ea9cc453 [DependencyInjection] fix phpDoc 2016-04-11 16:45:49 +02:00
Nicolas Grekas
4a3e2f49cb [DI] Remove deprecated scope concept 2015-09-04 22:04:06 +02:00
Fabien Potencier
2dc012ed01 [DependencyInjection] fixed ? position in some exception messages (refs #7861) 2013-05-01 06:24:56 +02:00
Grégoire Pineau
729db0fde7 [DependencyInjection] Add suggestion on ServiceNotFoundException 2013-04-30 19:55:25 +02:00
Grégoire Pineau
f44db48ebe [DependencyInjection] Add suggestion on ParameterNotFoundException 2013-04-30 19:35:42 +02:00
Pascal Borreli
7cfa66159e Fixed PHPDocs 2013-04-21 12:26:17 +00:00
Martin Hasoň
9b4cd73748 [DependencyInjection] Added missing support for setting previous exception 2013-03-09 06:37:35 +01:00
Eriksen Costa
013f998bb8 updated license blocks 2012-03-31 18:00:32 -03:00
Jeremy Mikola
cf2ca9b196 [DependencyInjection] Create additional SPL exceptions 2011-12-04 22:17:41 -08:00
Jeremy Mikola
ba8322e106 [DependencyInjection] Format base exception classes consistently 2011-12-04 22:17:41 -08:00
H. Westphal
a0a97c6a22 Removed executable bits from all php files 2011-09-07 22:51:20 +02:00
Fabien Potencier
1aabc5da64 fixed CS 2011-06-08 12:16:48 +02:00
Fabien Potencier
65200aa86a added missing license headers 2011-05-31 10:57:06 +02:00
Fabien Potencier
2438a73c7b [DependencyInjection] added a check for circular references in parameter definitions 2011-05-25 09:57:38 +02:00
Fabien Potencier
456eb53eb8 [DependencyInjection] renamed CircularReferenceException to ServiceCircularReferenceException 2011-05-25 09:48:49 +02:00
Fabien Potencier
0e65bc746e [DependencyInjection] renamed Exception interface to ExceptionInterface to follow CS 2011-05-17 16:57:31 +02:00
Fabien Potencier
0168241014 [DependencyInjection] renamed NonExistentParameterException and NonExistentServiceException to ParameterNotFoundException and ServiceNotFoundException 2011-05-17 16:26:08 +02:00
Fabien Potencier
175f944f93 [DependencyInjection] added NonExistentParameterException that indicates where a non-existent parameter is being used 2011-04-26 12:36:25 +02:00
Johannes Schmitt
6d7a9d752d [DependencyInjection] adds emulation of "exception-on-invalid-reference" behavior
This pass requires that all of references are valid at the end of
the compilation process.
2011-04-15 00:55:18 +02:00
Johannes M. Schmitt
98216a9af2 [DependencyInjection] refactored some more exceptions 2011-03-14 21:14:49 +01:00
Johannes M. Schmitt
e624e27675 [DependencyInjection] refactored some exceptions 2011-03-13 20:35:15 +01:00
Fabien Potencier
8c423edfef replaced symfony-project.org by symfony.com 2011-03-06 12:40:06 +01:00
Dominique Bongiraud
64fb94c725 normalized license messages in PHP files 2011-01-18 08:07:46 +01:00
Jeremy Mikola
a7bac83c58 [DependencyInjection] Remove OpenSky doc-block and AGPL license string 2011-01-06 08:46:17 +01:00
Bulat Shakirzyanov
73331cf1c1 [DependencyInjection] Interface Injection implementation 2010-11-30 20:36:56 +01:00