Commit Graph

2528 Commits

Author SHA1 Message Date
Nicolas Grekas
1cb3b5b170 bug #27782 [DI] Fix dumping ignore-on-uninitialized references to synthetic services (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Fix dumping ignore-on-uninitialized references to synthetic services

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

Commits
-------

97e8d68a05 [DI] Fix dumping ignore-on-uninitialized references to synthetic services
2018-07-07 17:48:58 +02:00
Nicolas Grekas
61f005af36 [DI] Don't show internal service id on binding errors 2018-07-04 11:35:48 +02:00
Nicolas Grekas
97e8d68a05 [DI] Fix dumping ignore-on-uninitialized references to synthetic services 2018-06-30 10:53:46 +02:00
Nicolas Grekas
3d8490e59c Merge branch '2.8' into 3.4
* 2.8:
  [DI] fix dumping deprecated service in yaml
  bumped Symfony version to 2.8.43
  updated VERSION for 2.8.42
  update CONTRIBUTORS for 2.8.42
  updated CHANGELOG for 2.8.42
2018-06-26 10:26:17 +02:00
Nicolas Grekas
411be25aba [DI] fix dumping deprecated service in yaml 2018-06-26 10:00:00 +02:00
Vladimir Reznichenko
a3a9e2ec19 [Di] Fix undefined variable found by Php Inspections (EA Ultimate) 2018-06-25 10:36:56 +02:00
Nicolas Grekas
fd3571d172 minor #27691 [DI] Cleanup unused service_subscriber.locator tag (ro0NL)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Cleanup unused service_subscriber.locator tag

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes-ish
| New feature?  | no
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Cleanup internal DI tag `container.service_subscriber.locator` so it's _not_ reported as unused tag, i.e.:

```
Tag "container.service_subscriber.locator" was defined on service(s) "App\Controller\MainController", "translation.warmer", "router.cache_warmer", "twig.cache_warmer", "twig.template_cache_warmer",
but was never used. Did you mean "container.service_subscriber", "container.service_locator"?
```

Commits
-------

8e060fa45d [DI] Cleanup unused service_subscriber.locator tag
2018-06-24 09:58:37 +02:00
Roland Franssen
8e060fa45d [DI] Cleanup unused service_subscriber.locator tag 2018-06-23 15:02:32 +02:00
Roland Franssen
b58eb0117f [DI] Resolve env placeholder in logs 2018-06-23 14:49:00 +02:00
Vladimir Reznichenko
5922507dc5 [minor] SCA 2018-06-19 11:31:41 +02:00
Nicolas Grekas
322f58b334 [DI] Deduplicate generated proxy classes 2018-06-09 21:22:19 +02:00
Nicolas Grekas
bf20260025 Merge branch '2.8' into 3.4
* 2.8:
  Add code of Conduct links in our README
  [DI] never inline lazy services
  Default testsuite to latest PHPUnit 6.*
  [Github] Update the pull-request template
  bumped Symfony version to 2.8.42
  updated VERSION for 2.8.41
  updated CHANGELOG for 2.8.41
2018-05-25 16:50:57 +02:00
Nicolas Grekas
3d310ab2ef minor #27363 [DI] remove dead code (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] remove dead code

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

Commits
-------

1314a952cd [DI] remove dead code
2018-05-25 16:37:08 +02:00
Nicolas Grekas
3b4d7ab56c [DI] never inline lazy services 2018-05-25 15:50:34 +02:00
Nicolas Grekas
5eb17e55d2 [DI] fix undefined offset in InlineServiceDefinitionsPass 2018-05-25 13:57:15 +02:00
Nicolas Grekas
8bba68f811 [DI] Fix bad exception on uninitialized references to non-shared services 2018-05-24 14:02:14 +02:00
Nicolas Grekas
1314a952cd [DI] remove dead code 2018-05-24 09:11:23 +02:00
Fabien Potencier
4f9d907064 bug #27267 [DependencyInjection] resolve array env vars (jamesthomasonjr)
This PR was squashed before being merged into the 3.4 branch (closes #27267).

Discussion
----------

[DependencyInjection] resolve array env vars

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

## Why
This bugfix solves a problem where environment variables resolved as an array would cause an error while compiling the container if they aren't the last parameter in the ParameterBag: the next parameter to be resolved would fail at the `stripos()` check. More information about the bug is available at #27239

## Tests
- This PR modifies existing ContainerBuilder tests to make use of the EnvVarProcessor to resolve json strings into arrays, instead of relying upon a TestingEnvPlaceholderParameterBag class.
  - I would liked to have kept EnvVarProcessor logic out of the ContainerBuilder tests, but it was the interaction between the ContainerBuilder and EnvVarProcessor that caused the bug
- This PR adds a new ContainerBuilder test to verify that an environment variable resolved into an array doesn't cause an error when the next variable attempts to be resolved

## Code
- ~This PR adds an `\is_string()` sanity check before the `stripos()` method call so that only a string are passed into `stripos()`~
- This PR also adds a `$completed` flag so that completely resolved environment variables (currently only determined by `$placeholder === $value`) can break out of the loop early (handled via `break 2;`

Commits
-------

4c3b950dc2 [DependencyInjection] resolve array env vars
2018-05-18 03:58:36 +02:00
Thomason, James
4c3b950dc2 [DependencyInjection] resolve array env vars 2018-05-18 03:58:30 +02:00
Fabien Potencier
c280f8aa27 bug #27271 [DI] Allow defining bindings on ChildDefinition (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Allow defining bindings on ChildDefinition

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

Spotted by @stof while trying to put https://github.com/symfony/monolog-bundle/pull/254 into practice.
Binding log channels doesn't work because we put this artificial restriction in place.
Let's allow ChildDefinition to have bindings (but only at the DI extension level, loaders still forbid defining them at their level because of the parent vs _defaults ambiguity.)

Commits
-------

1c3b1055df [DI] Allow defining bindings on ChildDefinition
2018-05-17 12:22:44 +02:00
Fabien Potencier
ba5cb1a245 fixed CS 2018-05-16 14:49:49 +02:00
Nicolas Grekas
10a2d39365 bug #27265 [DI] Shared services should not be inlined in non-shared ones (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[DI] Shared services should not be inlined in non-shared ones

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

[Already good on 2.7/2.8.](https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/DependencyInjection/Compiler/InlineServiceDefinitionsPass.php#L152)

Commits
-------

6f8b8625f4 [DI] Shared services should not be inlined in non-shared ones
2018-05-15 10:55:40 +02:00
Nicolas Grekas
1c3b1055df [DI] Allow defining bindings on ChildDefinition 2018-05-15 09:24:59 +02:00
Nicolas Grekas
6f8b8625f4 [DI] Shared services should not be inlined in non-shared ones 2018-05-14 18:07:37 +02:00
Nicolas Grekas
f2231b584e [DI] Display previous error messages when throwing unused bindings 2018-05-09 11:49:38 -07:00
Ryan Weaver
309da927e3 Avoiding an error when an unused service has a missing base class
This mirrors what was already done in AutowirePass
2018-04-29 10:04:08 -04:00
Sergey Rabochiy
314e8813b3 [DI] Add check of internal type to ContainerBuilder::getReflectionClass 2018-04-24 12:28:38 +02:00
Nicolas Grekas
7f398117f4 [DI] Improve error message for non-autowirable scalar argument 2018-04-09 15:40:31 -05:00
Robin Chalas
1ffdb50341 [DI] Do not suggest writing an implementation when multiple exist 2018-03-29 13:25:31 +02:00
Nicolas Grekas
599dbca3cd [DI] Fix hardcoded cache dir for warmups 2018-03-26 13:32:25 +02:00
Nicolas Grekas
5e922db4de [DI] Dont tell about autoregistration in strict autowiring mode 2018-03-22 12:44:08 +01:00
Nicolas Grekas
ba2e6edb8a bug #26427 [DependencyInjection] fix regression when extending the Container class without a constructor (lsmith77)
This PR was merged into the 3.4 branch.

Discussion
----------

[DependencyInjection] fix regression when extending the Container class without a constructor

| Q             | A
| ------------- | ---
| Branch?       | 3.4+
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/issues/26397
| License       | MIT
| Doc PR        | -

fix regression introduced in c026ec63e3 (diff-f7b23d463cba27ac5e4cb677f2be7623R985)

Commits
-------

0beb64a fix regression when extending the Container class without a constructor
2018-03-19 17:17:44 +01:00
Fred Cox
2992bb3fd3 [DI] Add tests for EnvVarProcessor 2018-03-19 15:53:26 +01:00
Lukas Kahwe Smith
0beb64a77c
fix regression when extending the Container class without a constructor
regression introduced in c026ec63e3 (diff-f7b23d463cba27ac5e4cb677f2be7623R985)
2018-03-08 10:22:06 +01:00
Robin Chalas
0b748fac95 [DI] Skip resource tracking if disabled 2018-03-04 04:54:53 +01:00
Nicolas Grekas
4a5e43eae8 [DI] Fix missing "id" normalization when dumping the container 2018-03-02 14:51:21 +01:00
Roland Franssen
2abb8a4fd1 Use long array syntax 2018-02-26 15:27:04 +01:00
Nicolas Grekas
9cbb2569b9 Merge branch '2.7' into 2.8
* 2.7:
  Clean calls to http_build_query()
  [HttpFoundation] Fix missing "throw" in JsonResponse
  Improve the documentation of
  Suppress warning from sapi_windows_vt100_support on stream other than STDIO
  removed extra-verbose comments
  Fixes #26136: Avoid emitting warning in hasParameterOption()
  Added a README entry to the PR template
  [HttpFoundation] Add x-zip-compressed to MimeTypeExtensionGuesser.
  [DI] Add null check for removeChild
2018-02-19 17:23:47 +01:00
changmin.keum
a5f05a0486 [DI] Add null check for removeChild 2018-02-15 08:59:01 +01:00
Christian Flothmann
777acfbac9 do not mock the container builder in tests 2018-02-14 11:03:57 +01:00
Nicolas Grekas
8ed107d09c Merge branch '2.8' into 3.4
* 2.8:
  [Bridge\PhpUnit] Exit as late as possible
  Update Repository Symlink Helper
  Document explicitly that dotfiles and vcs files are ignored by default
  do not mock the container builder in tests
2018-02-11 18:15:12 +01:00
Nicolas Grekas
e490d663d6 Merge branch '2.7' into 2.8
* 2.7:
  [Bridge\PhpUnit] Exit as late as possible
  Update Repository Symlink Helper
  Document explicitly that dotfiles and vcs files are ignored by default
  do not mock the container builder in tests
2018-02-11 17:53:59 +01:00
Lars Strojny
48e8249da9 Make kernel build time optionally deterministic 2018-02-11 00:59:14 +01:00
Christian Flothmann
05a045268f Merge branch '2.8' into 3.4
* 2.8:
  [SecurityBundle] Backport test
  [Security] fix merge of 2.7 into 2.8 + add test case
  backport regression test from 3.4
  Fix misspelling variable
  [DI] minor: use a strict comparision in setDecoratedService
  Follow-on to #25825: Fix edge case in getParameterOption.
  keep the context when validating forms
2018-02-09 15:10:47 +01:00
Christian Flothmann
641a46bcb6 Merge branch '2.7' into 2.8
* 2.7:
  [SecurityBundle] Backport test
  Fix misspelling variable
  [DI] minor: use a strict comparision in setDecoratedService
  Follow-on to #25825: Fix edge case in getParameterOption.
  keep the context when validating forms
2018-02-09 14:57:28 +01:00
Nicolas Grekas
0c4b32c74b bug #26112 Env var maps to undefined constant. (dsmink)
This PR was submitted for the master branch but it was merged into the 3.4 branch instead (closes #26112).

Discussion
----------

Env var maps to undefined constant.

When I try to use a constant as an environment variable, as described in the blog item,
I run into the following problem.

Env var "SOME_CONST" maps to undefined constant "App\\Util\\SomeClass::SOME_CONST".

The proposed solution works for me, however, I'm not sure if this is the best and conform Symfony standards.

Blog:
https://symfony.com/blog/new-in-symfony-3-4-advanced-environment-variables

| Q             | A
| ------------- | ---
| Branch?       | master for features / 2.7 up to 4.0 for bug fixes <!-- see below -->
| Bug fix?      | yes/no
| New feature?  | yes/no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | yes/no
| Deprecations? | yes/no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | yes/no
| Fixed tickets | #... <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!--highly recommended for new features-->

<!--
- Bug fixes must be submitted against the lowest branch where they apply
  (lowest branches are regularly merged to upper ones so they get the fixes too).
- Features and deprecations must be submitted against the master branch.
- Replace this comment by a description of what your PR is solving.
-->

Commits
-------

bdf9efc Env var maps to undefined constant.
2018-02-09 14:01:40 +01:00
dsmink
bdf9efc78e Env var maps to undefined constant.
When I try to use a constant as an environment variable, as described in the blog item, 
I run into the following problem.

Env var "SOME_CONST" maps to undefined constant "App\\Util\\SomeClass::SOME_CONST".

The proposed solution works for me, however, I'm not sure if this is the best and conform Symfony standards.

Blog:
https://symfony.com/blog/new-in-symfony-3-4-advanced-environment-variables
2018-02-09 14:01:01 +01:00
Christian Flothmann
dab422287f do not mock the container builder in tests 2018-02-08 09:15:30 +01:00
Kévin Dunglas
f167b505c4
[DI] minor: use a strict comparision in setDecoratedService 2018-02-05 08:51:24 +01:00
Nicolas Grekas
c026ec63e3 bug #25762 [DependencyInjection] always call the parent class' constructor (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[DependencyInjection] always call the parent class' constructor

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

Commits
-------

a1b1484 always call the parent class' constructor
2018-02-04 11:57:21 +01:00