Commit Graph

314 Commits

Author SHA1 Message Date
Nicolas Grekas
5c74f11b52 Merge branch '3.4'
* 3.4:
  Ensure DeprecationErrorHandler::collectDeprecations() is triggered
  Config: mark builder property deprecated
  fix CachePoolPrunerPass to use correct command service id
  [TwigBridge] Re-add Bootstrap 3 Checkbox Layout
  [FrameworkBundle] Allow to disable assets via framework:assets xml configuration
  fixed $_ENV/$_SERVER precedence in test framework
  [HttpFoundation] Fix FileBag issue with associative arrays
  [DI] Throw when a service name or an alias contains dynamic values (prevent an infinite loop)
  [HttpFoundation] Fix caching of session-enabled pages
  [Guard] remove invalid deprecation notice
  fix the phpdoc that is not really inherited from response
  Minor docblock cleanup
  Remove redundant sprintf arguments.
2017-10-28 18:54:10 +02:00
Kevin Bond
14c62dad5f
fix CachePoolPrunerPass to use correct command service id 2017-10-27 16:39:37 -04:00
Nicolas Grekas
3c05652270 Merge branch '3.4'
* 3.4:
  Clarify the exceptions are going to be rendered just after
  [DI] Remove colon from env placeholders
  fixed CS
  [Yaml] initialize inline line numbers
  [Workflow] Added tests for the is_valid() guard expression
  [Workflow] Added guard 'is_valid()' method support
  Add & use OptionResolverIntrospector
  Add debug:form type option
2017-10-09 10:45:52 +02:00
Grégoire Pineau
06d8198714 [Workflow] Added tests for the is_valid() guard expression 2017-10-06 10:14:03 +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
b0c04f8354 [FrameworkBundle] Don't clear app pools on cache:clear 2017-09-30 20:17:55 +02:00
Nicolas Grekas
fa62e5068e [HttpKernel] Deprecate some compiler passes in favor of tagged iterator args 2017-09-29 00:01:08 +02:00
Maxime Steinhausser
3640585bfd Merge branch '3.4'
* 3.4:
  use the parseFile() method of the YAML parser
  [Yaml] support parsing files
  Adding Definition::addError() and a compiler pass to throw errors as exceptions
  [DI] Add AutowireRequiredMethodsPass to fix bindings for `@required` methods
  [Cache] Add ResettableInterface to allow resetting any pool's local state
  [DI][DX] Throw exception on some ContainerBuilder methods used from extensions
  added missing @author tag for new class
  allow forms without translations and validator
  [VarDumper] Make `dump()` a little bit more easier to use
  [Form] Add ambiguous & exception debug:form tests
  Reset the authentication token between requests.
  [Serializer] Getter for extra attributes in ExtraAttributesException
  [DI] Dont use JSON_BIGINT_AS_STRING

# Conflicts:
#	src/Symfony/Component/Routing/composer.json
#	src/Symfony/Component/Translation/composer.json
#	src/Symfony/Component/Yaml/Inline.php
#	src/Symfony/Component/Yaml/Tests/ParserTest.php
#	src/Symfony/Component/Yaml/Yaml.php
2017-09-26 08:12:47 +02:00
Nicolas Grekas
14c91f2bc9 [Cache] Add ResettableInterface to allow resetting any pool's local state 2017-09-25 10:20:08 +02:00
Nicolas Grekas
80dbe74b22 Merge branch '3.4'
* 3.4:
  [travis] fix minor php7.0 version
  [travis] add ldap.so for php70
  [HttpFoundation] Fix logic when JsonSerializable is missing
  [travis] update to trusty
  Add help description to debug:form command
  Don't use return on Assert::markTestSkipped.
  [TwigBridge] Show Twig's loader paths on debug:twig command
  [FrameworkBundle] Fix Di config to allow for more private services
  Create directories recursively in the PHPUnit bridge
  [Dotenv] Add a BC break note
  [Cache] Use options from Memcached DSN
  Fix ArrayInput::toString() for VALUE_IS_ARRAY options/args
  be able to enable workflow support explicitly
  [Yaml] add inline parser context initializer
  [ExpressionLanguage] throws an exception on calling uncallable method
2017-09-06 21:16:37 +02:00
Nicolas Grekas
76c42175b9 [FrameworkBundle] Fix Di config to allow for more private services 2017-09-05 18:47:43 +02:00
Christian Flothmann
b27c96558d Merge branch '3.4'
* 3.4:
  [Yaml] Deprecate tags using colon
  better errors when security deps are missing
2017-08-04 17:24:51 +02:00
Christian Flothmann
978eca9fe4 Merge branch '3.3' into 3.4
* 3.3:
  better errors when security deps are missing
2017-08-04 16:18:17 +02:00
Christian Flothmann
56ee4aa543 better errors when security deps are missing 2017-08-04 09:27:11 +02:00
Nicolas Grekas
257b2c9459 Merge branch '3.4'
* 3.4:
  [Bridge\ProxyManager] Dont call __destruct() on non-instantiated services
  Consistently use 7 chars of sha256 for hash-based id generation
  Docblock improvement
  bumped Symfony version to 2.8.27
  updated VERSION for 2.8.26
  updated CHANGELOG for 2.8.26
  bumped Symfony version to 2.7.34
  updated VERSION for 2.7.33
  update CONTRIBUTORS for 2.7.33
  updated CHANGELOG for 2.7.33
2017-08-03 14:18:13 +02:00
Nicolas Grekas
bc22cdd034 Consistently use 7 chars of sha256 for hash-based id generation 2017-08-03 13:27:37 +02:00
Nicolas Grekas
1ac3031248 Merge branch '3.4'
* 3.4:
  [TwigBundle] Commands as a service
  add (filesystem|phpfiles) cache (adapter|simple) prune method and prune command
2017-07-22 16:11:29 +02:00
Rob Frawley 2nd
f0d0c5ffef
add (filesystem|phpfiles) cache (adapter|simple) prune method and prune command
- added `Symfony\Component\Cache\PruneableInterface` so PSR-6 or PSR-16 cache implementations can declare support
  for manual stale cache pruning
- added FilesystemTrait::prune() and PhpFilesTrait::prune() implementations
- now FilesystemAdapter, PhpFilesAdapter, FilesystemCache, and PhpFilesCache implement PruneableInterface and
  supports manual stale cache pruning
- Added `cache:pool:prune` command via `Symfony\Bundle\FrameworkBundle\Command\CachePoolPruneCommand` to allow
  manual stale cache item pruning of supported PSR-6 and PSR-16 cache pool implementations
- Added `Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\CachePoolPrunerPass` compiler pass to fetch
  all cache pools implementing `PruneableInterface` and pass them to the command as an `IteratorArgument` so
  these references are lazy loaded by the command
- updated changelogs as appropriate
2017-07-20 11:29:24 -04:00
Nicolas Grekas
22914846f2 Merge branch '3.4'
* 3.4: (23 commits)
  Don't display the Symfony debug toolbar when printing the page
  [Routing] also add matched params for redirect due to trailing slash
  do not wire namespaces for the ArrayAdapter
  check _controller attribute is a string before parsing it
  [Cache] Added test for ApcuAdapter when using in CLI
  [Validator] sync upgrade file with latest code changes
  allow to configure custom formats in XML configs
  [HttpKernel] fix DumpDataCollector tests
  [FrameworkBundle] fix changelog
  [WebProfilerBundle] Cleanup profiler leftover
  [Routing] Add matched and default parameters to redirect responses
  [DotEnv] Fix variable substitution
  require the XML PHP extension
  Fix phpdoc for serializer normalizers exceptions
  Fixed absolute url generation for query strings and hash urls
  bumped Symfony version to 2.8.25
  updated VERSION for 2.8.24
  updated CHANGELOG for 2.8.24
  bumped Symfony version to 2.7.32
  [Filesystem] Dont copy perms when origin is remote
  ...
2017-07-11 09:22:40 +02:00
Nicolas Grekas
77b8ea751c Merge branch '3.3' into 3.4
* 3.3:
  Don't display the Symfony debug toolbar when printing the page
  do not wire namespaces for the ArrayAdapter
  check _controller attribute is a string before parsing it
  [Cache] Added test for ApcuAdapter when using in CLI
  allow to configure custom formats in XML configs
  [HttpKernel] fix DumpDataCollector tests
  [FrameworkBundle] fix changelog
  [WebProfilerBundle] Cleanup profiler leftover
  [DotEnv] Fix variable substitution
  require the XML PHP extension
  Fix phpdoc for serializer normalizers exceptions
  Fixed absolute url generation for query strings and hash urls
  bumped Symfony version to 2.8.25
  updated VERSION for 2.8.24
  updated CHANGELOG for 2.8.24
  bumped Symfony version to 2.7.32
  [Filesystem] Dont copy perms when origin is remote
  updated VERSION for 2.7.31
  update CONTRIBUTORS for 2.7.31
  updated CHANGELOG for 2.7.31
2017-07-11 09:19:17 +02:00
Nicolas Grekas
22b67a4430 Merge branch '3.2' into 3.3
* 3.2:
  Don't display the Symfony debug toolbar when printing the page
  do not wire namespaces for the ArrayAdapter
  [Cache] Added test for ApcuAdapter when using in CLI
  allow to configure custom formats in XML configs
  [HttpKernel] fix DumpDataCollector tests
  [FrameworkBundle] fix changelog
  [WebProfilerBundle] Cleanup profiler leftover
  require the XML PHP extension
  Fix phpdoc for serializer normalizers exceptions
  Fixed absolute url generation for query strings and hash urls
  bumped Symfony version to 2.8.25
  updated VERSION for 2.8.24
  updated CHANGELOG for 2.8.24
  bumped Symfony version to 2.7.32
  [Filesystem] Dont copy perms when origin is remote
  updated VERSION for 2.7.31
  update CONTRIBUTORS for 2.7.31
  updated CHANGELOG for 2.7.31
2017-07-11 09:17:58 +02:00
Christian Flothmann
9380614de9 do not wire namespaces for the ArrayAdapter 2017-07-10 19:31:39 +02:00
Nicolas Grekas
a41600710f Merge branch '3.4'
* 3.4:
  Deprecate support for stacked errors
  fixed tests
  [HttpFoundation] Find the original request protocol version
  fixed CS
  Add support for microseconds in Stopwatch
  Preserve HttpOnly value when deserializing a header
  add minimum and maximum amount of pixels to Image validator
  fixed CHANGELOG
  [DX] [TwigBundle] Enhance the new exception page design
  [BrowserKit] Emulate back/forward browser navigation
  Fix deprecated message
  [Component][Serializer][Normalizer] : Deal it with Has Method for the Normalizer/Denormalizer
  [Validator] improve the changelog
  [FrameworkBundle] Wire inner translator
  [FrameworkBundle][HttpKernel] Move addcachearmer, addcacheclearer compiler pass
  [FrameworkBundle][Translation] Move translation compiler pass
2017-07-06 13:49:06 +03:00
Fabien Potencier
bfaf8a0fdc feature #22619 [FrameworkBundle][Translation] Move translation compiler pass (lepiaf)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle][Translation] Move translation compiler pass

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

move TranslationDumperPass, TranslationExtractorPass, TranslatorPass to Translation component.

Commits
-------

74c951fa04 [FrameworkBundle][Translation] Move translation compiler pass
2017-07-06 09:49:25 +03:00
Fabien Potencier
3981f9ba89 feature #22620 [FrameworkBundle][HttpKernel] Move httpkernel pass (lepiaf)
This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle][HttpKernel] Move httpkernel pass

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

Move addcachearmer, addcacheclearer compiler pass to httpkernel

Commits
-------

83727c7e3d [FrameworkBundle][HttpKernel] Move addcachearmer, addcacheclearer compiler pass
2017-07-06 09:43:51 +03:00
Maxime Steinhausser
a32cae5caa [FrameworkBundle] Wire inner translator 2017-07-04 09:33:15 +02:00
Thierry Thuon
83727c7e3d [FrameworkBundle][HttpKernel] Move addcachearmer, addcacheclearer compiler pass 2017-06-22 13:11:19 +02:00
Thierry Thuon
74c951fa04 [FrameworkBundle][Translation] Move translation compiler pass 2017-06-21 13:24:12 +02:00
Nicolas Grekas
5f2b26e19d [FrameworkBundle] Fix FC with 4.0 having autowiring types removed 2017-06-02 00:03:58 +02:00
Nicolas Grekas
e6f11da20e fix merge 2017-06-01 23:52:06 +02:00
Fabien Potencier
461bb11dc4 Merge branch '3.4'
* 3.4: (31 commits)
  Using FQ name for PHP_VERSION_ID
  [EventDispatcher] Handle laziness internally instead of relying on ClosureProxyArgument
  Fix CacheCollectorPass priority
  [Form] Fix \IntlDateFormatter timezone parameter usage to bypass PHP bug #66323
  [Routing] Allow GET requests to be redirected. Fixes #23004
  [DI] Deal with inlined non-shared services
  [Cache] Ignore missing annotations.php
  [DI] Autowiring exception thrown when inlined service is removed
  Improving deprecation message when hitting the "deprecated type" lookup, but an alias is available
  Harden the debugging of Twig filters and functions
  Fixing a bug where an autowiring exception was thrown even when that service was removed
  Remove extra arg in call to TraceableAdapter::start()
  Support unknown compiler log format
  [Config] Allow empty globs
  Fix decorating TagAware adapters in dev
  [Profiler] Fix clicking on links inside toggle
  [Profiler] Fix text selection on exception pages
  bumped Symfony version to 3.3.1
  updated VERSION for 3.3.0
  updated CHANGELOG for 3.3.0
  ...
2017-06-01 14:04:19 -07:00
Robin Chalas
28b253ab40 Fix CacheCollectorPass priority 2017-06-01 19:06:24 +02:00
Robin Chalas
28e615a656 Fix decorating TagAware adapters in dev 2017-05-31 10:24:58 +02:00
Robin Chalas
16a2fcf978 Remove deprecated container injections and compiler passes 2017-05-21 11:42:36 +02:00
Grégoire Pineau
fd2577755d [Workflow] Removed FrameworkBundle/DependencyInjection/Compiler/ValidateWorkflowsPass 2017-05-19 17:59:15 +02:00
Fabien Potencier
09f22f43e8 feature #22385 [DX][FrameworkBundle] Show private aliases in debug:container (chalasr)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DX][FrameworkBundle] Show private aliases in debug:container

| 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/issues/16388 https://github.com/Haehnchen/idea-php-symfony2-plugin/issues/618
| License       | MIT
| Doc PR        | n/a

By building and compiling the container without `TYPE_REMOVING` passes, private aliases are available (shown when `--show-private` is passed). The ContainerBuilderDebugDumpPass now makes use of the ConfigCache component, removing the need for clearing the cache to get the debug:container output up to date (in sync with latest config).

Config
-------

```yaml
services:
    AppBundle\Foo:
        public: false

    foo_consumer1:
        class: AppBundle\Foo
        arguments: [ '@AppBundle\Foo' ]

    foo_consumer2:
        class: AppBundle\Foo
        arguments: [ '@AppBundle\Foo' ]

    foo_alias:
        alias: AppBundle\Foo

    foo_private_alias:
        public: false
        alias: AppBundle\Foo
```

Before
-------

![before](http://image.prntscr.com/image/2a69485a4a764316a90260b4e3dfc2a2.png)

After
------

![after](http://image.prntscr.com/image/ea42daa0e5c94841a28dd256450dc8ef.png)

Commits
-------

883723ef53 Show private aliases in debug:container
2017-05-03 12:26:38 -07:00
Robin Chalas
883723ef53 Show private aliases in debug:container 2017-04-21 00:49:45 +02:00
Nicolas Grekas
c97b08e6c0 [FrameworkBundle] Restore 3.2-like behavior for FormPass, to help BC with Sonata 2017-04-20 15:25:36 +02:00
Robin Chalas
8fe122fc79 Move ValidateWorkflowsPass to the Workflow component 2017-04-14 12:36:38 +02:00
Nicolas Grekas
388e4b3389 [DI] Make tagged abstract services throw earlier 2017-04-13 15:45:25 +02:00
Robin Chalas
41f3d1f166 Use findDefinition() instead of getDefinition() after calling has() 2017-04-11 16:03:41 +02:00
Nicolas Grekas
a8b83340bb [HttpKernel][FrameworkBundle] Dump container logs in Kernel, to have them also on errors 2017-04-06 19:59:10 +02:00
Nicolas Grekas
8ff764be82 [DI] add ServiceLocatorTagPass::register() to share service locators 2017-04-01 13:57:21 +02:00
Fabien Potencier
0a5998d996 feature #21771 [FrameworkBundle] Add new "controller.service_arguments" tag to inject services into actions (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[FrameworkBundle] Add new "controller.service_arguments" tag to inject services into actions

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

Talking with @simensen and @weaverryan, we wondered if we could leverage the `ArgumentResolver` mechanism to make it inject services on demand, using e.g. autowiring.

```php
class PostController
{
  public function indexAction(Request $request, PostRepository $postRepository)
  {
    // PostRepository comes from the container
    $postRepository->findAll(); // ...
  }
}
```

This PR achieves that, using a new "controller.service_arguments" tag. Typically:
```yaml
services:
    AppBundle\Controller\PostController:
        autowire: true
        tags:
            - name: controller.service_arguments
```

It also supports with explicit wiring (thus doesn't necessarily require autowiring if you don't want to use it):
```yaml
services:
    AppBundle\Controller\PostController:
        tags:
            - name: controller.service_arguments
              action: fooAction
              argument: logger
              id: my_logger
```

~~The attached diff is bigger than strictly required for now, until #21770 is merged.~~

Todo:
- [x] rebase on top of #21770 when merged
- [x] add tests
- [x] add cleaning pass to remove empty service locators

Commits
-------

9c6e672780 [FrameworkBundle] Add new "controller.service_arguments" tag to inject services into actions
2017-03-22 15:24:31 -07:00
Robin Chalas
0b741da343 Move AddValidatorInitializersrPass & AddConstraintValidatorsPass to the Validator 2017-03-22 21:51:09 +01:00
Nicolas Grekas
9c6e672780 [FrameworkBundle] Add new "controller.service_arguments" tag to inject services into actions 2017-03-22 21:34:42 +01:00
Nicolas Grekas
9b7df39865 [DI] Add and wire ServiceSubscriberInterface 2017-03-22 20:26:09 +01:00
Robin Chalas
85177a649e [FrameworkBundle] Make Translator works with any PSR-11 container 2017-03-22 16:47:35 +01:00
Robin Chalas
ad501e5eeb Whitelist container.service_locator tag 2017-03-20 22:29:41 +01:00
Nicolas Grekas
5d230b5871 [DI] Introduce "container.service_locator" tag, replaces ServiceLocatorArgument 2017-03-17 17:49:32 +01:00