Commit Graph

4148 Commits

Author SHA1 Message Date
Fabien Potencier
89b6bb84e5 bug #18618 [HttpKernel] tweaked redirection profiling in RequestDataCollector (HeahDude)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[HttpKernel] tweaked redirection profiling in RequestDataCollector

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

- c8ba3b2 removes duplicated code forgotten in #17589

- a47d2e8 fixes the collecting of redirect data in first sub request instead of redirected master request.

Commits
-------

df19c14 use a request attribute flag for redirection profile
b26cb6d [HttpKernel] added RequestDataCollector::onKernelResponse()
c8ba3b2 [HttpKernel] remove legacy duplicated code
2016-04-28 12:32:03 +02:00
Fabien Potencier
44c3e32c29 Merge branch '3.0'
* 3.0:
  [Console] Fix wrong exceptions being thrown
  Add missing parenthesis in docblock description
  [FrameworkBundle] Remove duplicated code in ContainerDebugCommand
2016-04-28 11:49:00 +02:00
Fabien Potencier
dd3e5108b2 Merge branch '2.8' into 3.0
* 2.8:
  [Console] Fix wrong exceptions being thrown
  Add missing parenthesis in docblock description
  [FrameworkBundle] Remove duplicated code in ContainerDebugCommand
2016-04-28 11:48:42 +02:00
Fabien Potencier
fddf0736f5 Merge branch '2.7' into 2.8
* 2.7:
  [FrameworkBundle] Remove duplicated code in ContainerDebugCommand
2016-04-28 11:48:28 +02:00
Nicolas Grekas
f2228d5cd4 bug #18630 [FrameworkBundle][Serializer] Fix a deprecation triggered by the ClassMetadataFactory (Ener-Getick)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[FrameworkBundle][Serializer] Fix a deprecation triggered by the ClassMetadataFactory

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

Without apparent reasons, [FOSRestBundle's tests fail](https://travis-ci.org/FriendsOfSymfony/FOSRestBundle/jobs/124384888) since https://github.com/symfony/symfony/pull/18561.
```
Passing a Doctrine Cache instance as 2nd parameter of the "Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory" constructor is deprecated. This parameter will be removed in Symfony 4.0. Use the "Symfony\Component\Serializer\Mapping\Factory\CacheClassMetadataFactory" class instead: 6x
    1x in ErrorWithTemplatingFormatTest::testSerializeExceptionHtml from FOS\RestBundle\Tests\Functional
    1x in SerializerErrorTest::testSerializeExceptionJson from FOS\RestBundle\Tests\Functional
    1x in SerializerErrorTest::testSerializeExceptionJsonWithoutDebug from FOS\RestBundle\Tests\Functional
    1x in SerializerErrorTest::testSerializeExceptionXml from FOS\RestBundle\Tests\Functional
    1x in SerializerErrorTest::testSerializeInvalidFormJson from FOS\RestBundle\Tests\Functional
    1x in SerializerErrorTest::testSerializeInvalidFormXml from FOS\RestBundle\Tests\Functional
```
We don't use cache in our tests but some of them are not in ``debug`` mode (will change soon) so the cache is automatically used.

This PR fixes this deprecation by detecting if the cache used by the serializer is psr6 compliant or not (if it is, then it replaces the default metadata factory by an instance of the new class ``CacheClassMetadataFactory``, otherwise the second parameter of the ``ClassMetadataFactory`` is used).

Commits
-------

15579d5 [FrameworkBundle] Deprecate framework.serializer.cache
eccbffb [Serializer] Improve a deprecation message
96e418a Revert "[FrameworkBundle] Fallback to default cache system in production for serializer"
2016-04-27 09:24:49 +02:00
Ener-Getick
15579d5137
[FrameworkBundle] Deprecate framework.serializer.cache 2016-04-25 20:47:17 +02:00
Ener-Getick
96e418a14f
Revert "[FrameworkBundle] Fallback to default cache system in production for serializer"
This reverts commit 4f0b8beea6.
2016-04-25 19:26:34 +02:00
Nicolas Grekas
db2c5768e7 [FrameworkBundle] Add optional logger to cache pools 2016-04-25 13:09:19 +02:00
Jules Pietri
b26cb6d3b8 [HttpKernel] added RequestDataCollector::onKernelResponse()
fixes redirection profile introduced in
0a1b2841f7.

Prevents collecting redirect data on sub request profiling.
2016-04-23 05:34:36 +02:00
JhonnyL
5885cbc1a2 [FrameworkBundle] Remove duplicated code in ContainerDebugCommand 2016-04-21 09:55:15 +02:00
Nicolas Grekas
db208e3e25 Merge branch '3.0'
* 3.0:
  [PropertyAccess] ->getValue() should be read-only
  [VarDumper] Fix dumping type hints for non-existing parent classes
  [Config] Fix XmlUtilsTest namespace
  [Console] [TableHelper] make it work with SymfonyStyle.
  Remove dead code
  [FrameworkBundle] Better output for user in ContainerDebugCommand
  [Routing] add query param if value is different from default
2016-04-20 20:54:21 +02:00
Nicolas Grekas
51d075a51b feature #18561 [FrameworkBundle] Fallback to default cache system in production for serializer (tgalopin)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[FrameworkBundle] Fallback to default cache system in production for serializer

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

In the same idea as https://github.com/symfony/symfony/pull/18544, this PR proposes a default fallback to filesystem cache for the serializer if the APC cache is not enabled in production. In other words, if the following part of `config_prod.yml` file is not uncommented, the filesystem will be used:

``` yaml
#framework:
#    serializer:
#        cache: serializer.mapping.cache.doctrine.apc
```

Commits
-------

4f0b8be [FrameworkBundle] Fallback to default cache system in production for serializer
2016-04-19 16:23:32 +02:00
Nicolas Grekas
2729c88e7e minor #18590 [FrameworkBundle] update argument value resolver pass tests (xabbuh)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[FrameworkBundle] update argument value resolver pass tests

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

Make sure to have at least one assertion per test.

Commits
-------

b8afa30 update argument value resolver pass tests
2016-04-19 16:02:12 +02:00
Christian Flothmann
b8afa30831 update argument value resolver pass tests
Make sure to have at least one assertion per test.
2016-04-19 12:57:28 +02:00
Titouan Galopin
88ef89c8dc [FrameworkBundle][Serializer] Fix APC cache service name and deprecate old name 2016-04-19 08:52:34 +02:00
Titouan Galopin
4f0b8beea6 [FrameworkBundle] Fallback to default cache system in production for serializer 2016-04-15 22:43:35 +02:00
jhonnyL
313d8b1684 [FrameworkBundle] Better output for user in ContainerDebugCommand 2016-04-15 11:28:00 +00:00
Fabien Potencier
cea9d862cc minor #18498 [FrameworkBundle] Use SymfonyStyle in AbstractConfigCommand (JhonnyL)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[FrameworkBundle] Use SymfonyStyle in AbstractConfigCommand

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

Before:
![screen shot 2016-04-10 at 18 12 56](https://cloud.githubusercontent.com/assets/1104667/14411548/ab040a32-ff4b-11e5-878d-7e6acb257750.png)
After:
![screen shot 2016-04-10 at 18 11 57](https://cloud.githubusercontent.com/assets/1104667/14411553/be16e022-ff4b-11e5-838e-5fa2ad46133b.png)

Commits
-------

30b44a8 [FrameworkBundle] Use SymfonyStyle in AbstractConfigCommand
2016-04-15 11:33:33 +02:00
Fabien Potencier
e4177a716e feature #18544 [FrameworkBundle] Fallback to default cache system in production for validation (tgalopin)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[FrameworkBundle] Fallback to default cache system in production for validation

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

This PR proposes a default fallback to filesystem cache for some services if the APC cache is not enabled in production. In other words, if the following part of `config_prod.yml` file is not uncommented, the filesystem will be used:

``` yaml
#framework:
#    validation:
#        cache: validator.mapping.cache.doctrine.apc
#    serializer:
#        cache: serializer.mapping.cache.doctrine.apc
#
# ... other services
```

Commits
-------

1a65595 [FrameworkBundle] Fallback to default cache system in production for validation
2016-04-15 11:26:35 +02:00
Fabien Potencier
8d6670bf80 minor #18529 [HttpKernel] Renamed the argument resolver tag (iltar)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[HttpKernel] Renamed the argument resolver tag

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

Changed as discussed several times: https://github.com/symfony/symfony/pull/18510#issuecomment-208778875, https://github.com/symfony/symfony-docs/pull/6422#issuecomment-208453616.

Commits
-------

cd10057 Renamed argument resolver tag, added test
2016-04-15 11:05:59 +02:00
Iltar van der Berg
cd100575d4 Renamed argument resolver tag, added test 2016-04-15 09:47:59 +02:00
Titouan Galopin
1a65595218 [FrameworkBundle] Fallback to default cache system in production for validation 2016-04-14 14:52:43 +02:00
Fabien Potencier
d4799348ff feature #18416 [FrameworkBundle] Calls support for debug:container (JhonnyL)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[FrameworkBundle] Calls support for debug:container

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

* Show methods to be called after service initialization in `debug:container` command

Commits
-------

b2d1038 [FrameworkBundle] Calls support for debug:container
2016-04-14 13:58:12 +02:00
Christian Flothmann
af9ec74edb Merge branch '3.0'
* 3.0: (24 commits)
  [Filesystem] Better error handling in remove()
  [DependencyInjection] Add coverage for invalid Expression in exportParameters
  [DependencyInjection] Add coverage for all invalid arguments in exportParameters
  anonymous services are always private
  [Form] FormValidator removed code related to removed  option
  [Console] Correct time formatting.
  [WebProfilerBundle] Fixed error from unset twig variable
  Force profiler toolbar svg display
  [DependencyInjection] Resolve aliases before removing abstract services + add tests
  Fix Dom Crawler select option with empty value
  Remove unnecessary option assignment
  fix tests (use non-deprecated options)
  remove unused variable
  mock the proper method
  [PropertyAccess] Fix regression
  [HttpFoundation] Improve phpdoc
  [Logging] Add support for firefox in ChromePhpHandler
  Windows 10 version check in just one line
  Detect CLI color support for Windows 10 build 10586
  [Security] Fixed SwitchUserListener when exiting an impersonication with AnonymousToken
  ...
2016-04-12 20:27:47 +02:00
Christian Flothmann
e72d509012 Merge branch '2.8' into 3.0
* 2.8: (23 commits)
  [Filesystem] Better error handling in remove()
  [DependencyInjection] Add coverage for invalid Expression in exportParameters
  [DependencyInjection] Add coverage for all invalid arguments in exportParameters
  anonymous services are always private
  [Console] Correct time formatting.
  [WebProfilerBundle] Fixed error from unset twig variable
  Force profiler toolbar svg display
  [DependencyInjection] Resolve aliases before removing abstract services + add tests
  Fix Dom Crawler select option with empty value
  Remove unnecessary option assignment
  fix tests (use non-deprecated options)
  remove unused variable
  mock the proper method
  [PropertyAccess] Fix regression
  [HttpFoundation] Improve phpdoc
  [Logging] Add support for firefox in ChromePhpHandler
  Windows 10 version check in just one line
  Detect CLI color support for Windows 10 build 10586
  [Security] Fixed SwitchUserListener when exiting an impersonication with AnonymousToken
  [EventDispatcher] Try first if the event is Stopped
  ...
2016-04-12 20:09:53 +02:00
JhonnyL
30b44a8864 [FrameworkBundle] Use SymfonyStyle in AbstractConfigCommand 2016-04-10 18:33:46 +02:00
Fabien Potencier
0b67fa3dd1 feature #18371 [FrameworkBundle] integrate the Cache component (xabbuh, nicolas-grekas)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[FrameworkBundle] integrate the Cache component

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

Last commit is the diff with #17868.

Commits
-------

4152634 [FrameworkBundle] Add default pool & system adapter
714b916 [FrameworkBundle] Add & use Psr6CacheClearer
4740c5c [FrameworkBundle] use abstract cache.pool decoration and aliases
92b1a20 [FrameworkBundle] Fix and add tests for cache pool wiring
e44bfdc [FrameworkBundle] Add cache-pool tag and wiring
281eafa [FrameworkBundle] Integrate the Cache component
bc51fde [Cache] Normalize constructor arguments order
2016-04-07 17:36:32 +02:00
Nicolas Grekas
41526342ea [FrameworkBundle] Add default pool & system adapter 2016-04-07 14:29:40 +02:00
Jules Pietri
724fd3b477 updated changelogs after #17589 2016-04-06 20:10:02 +02:00
Fabien Potencier
16ac46be44 Merge branch '2.7' into 2.8
* 2.7:
  [HttpFoundation] Improve phpdoc
  [Logging] Add support for firefox in ChromePhpHandler
  Windows 10 version check in just one line
  Detect CLI color support for Windows 10 build 10586
  [Security] Fixed SwitchUserListener when exiting an impersonication with AnonymousToken
  [EventDispatcher] Try first if the event is Stopped
  [FrameworkBundle] fixes grammar in container:debug command manual.
  [Form] fix "prototype" not required when parent form is not required
2016-04-05 18:36:54 +02:00
Nicolas Grekas
714b916d5d [FrameworkBundle] Add & use Psr6CacheClearer 2016-04-05 16:36:41 +02:00
Nicolas Grekas
01fb26b4d2 Merge branch '2.3' into 2.7
* 2.3:
  Detect CLI color support for Windows 10 build 10586
  [EventDispatcher] Try first if the event is Stopped
  [FrameworkBundle] fixes grammar in container:debug command manual.

Conflicts:
	src/Symfony/Component/EventDispatcher/EventDispatcher.php
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
2016-04-04 19:08:16 +02:00
Nicolas Grekas
4740c5ccfb [FrameworkBundle] use abstract cache.pool decoration and aliases 2016-04-04 11:49:17 +02:00
Christian Flothmann
92b1a20613 [FrameworkBundle] Fix and add tests for cache pool wiring 2016-04-04 11:41:15 +02:00
Nicolas Grekas
e44bfdcde9 [FrameworkBundle] Add cache-pool tag and wiring 2016-04-04 11:41:14 +02:00
Christian Flothmann
281eafa5cb [FrameworkBundle] Integrate the Cache component 2016-04-04 11:41:14 +02:00
JhonnyL
b2d10382f7 [FrameworkBundle] Calls support for debug:container 2016-04-04 11:34:26 +02:00
Hugo Hamon
c3c092de0f [FrameworkBundle] fixes grammar in container:debug command manual. 2016-04-04 10:38:46 +02:00
Iltar van der Berg
1bf80c92ee Improved DX for the ArgumentResolver 2016-04-02 13:06:02 +02:00
Nicolas Grekas
f990f1bea0 Merge branch '2.8' into 3.0
* 2.8:
  [travis] Disable hirak/prestissimo for deps=low/high tests
  Fixed the "hover" state of the profiler sidebar menu
  [HttpFoundation] fix phpdoc of UploadedFile
  Lower complexity of Form:isValid()
  skipped dns-sensitive tests when DnsMock is not found
  [FrameworkBundle] Return the invokable service if its name is the class name
  [ci] Skip dns-sensitive tests when DnsMock is not found
  Exclude Bridge\PhpUnit from composer.json by default
  fixed CS
  Optimize ReplaceAliasByActualDefinitionPass
  [Process] use __METHOD__ where applicable
  [Routing] Don't needlessly execute strtr's as they are fairly expensive

Conflicts:
	.travis.yml
	src/Symfony/Component/DependencyInjection/Compiler/ReplaceAliasByActualDefinitionPass.php
2016-04-02 10:04:34 +02:00
Nicolas Grekas
e7d7e1ee38 Merge branch '2.7' into 2.8
* 2.7:
  [travis] Disable hirak/prestissimo for deps=low/high tests
  [HttpFoundation] fix phpdoc of UploadedFile
  Lower complexity of Form:isValid()
  skipped dns-sensitive tests when DnsMock is not found
  [FrameworkBundle] Return the invokable service if its name is the class name
  [ci] Skip dns-sensitive tests when DnsMock is not found
  Exclude Bridge\PhpUnit from composer.json by default
  fixed CS
  Optimize ReplaceAliasByActualDefinitionPass
  [Process] use __METHOD__ where applicable
  [Routing] Don't needlessly execute strtr's as they are fairly expensive
2016-04-02 09:57:47 +02:00
Jules Pietri
cee5106960 cs fixes 2016-04-01 11:46:27 +02:00
Iltar van der Berg
cfcf764d24 Added an ArgumentResolver with clean extension point 2016-04-01 11:46:27 +02:00
Iltar van der Berg
360fc5fc4b Extracting arg resolving from ControllerResolver 2016-04-01 11:46:27 +02:00
Kévin Dunglas
5c87d766d5 [FrameworkBundle] Return the invokable service if its name is the class name 2016-03-31 22:45:44 +02:00
Fabien Potencier
8acc6010ad made test clearer 2016-03-31 11:55:22 +02:00
Fabien Potencier
f76e99b9f4 bug #18320 [FrameworkBundle] Fix Templating Engine autowiring (dunglas)
This PR was squashed before being merged into the 3.1-dev branch (closes #18320).

Discussion
----------

[FrameworkBundle] Fix Templating Engine autowiring

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/18242#discussion_r57471337
| License       | MIT
| Doc PR        | n/a

Commits
-------

c4ccfac [FrameworkBundle] Fix Templating Engine autowiring
2016-03-31 11:54:22 +02:00
Kévin Dunglas
c4ccfac047 [FrameworkBundle] Fix Templating Engine autowiring 2016-03-31 11:54:21 +02:00
Fabien Potencier
536a6cdbd8 feature #17589 [3.1] [WebProfilerBundle] [DX] Feature allow forward and redirection detection in wdt (HeahDude)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[3.1] [WebProfilerBundle] [DX] Feature allow forward and redirection detection in wdt

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #14358, #17501
| License       | MIT
| Doc PR        | ?

This PR allows to :
- track explicit forward from `\Symfony\Bundle\FrameWorkBundle\Controller\Controller` in the web debug toolbar.
- or pass a request attribute `_forwarded` with the current request attributes (an instance of `ParameterBag`) as value to your sub request before handling it.
- see if you've been redirected (require session enabled)

When redirected you will see the name of the route (if any) and a link to the profile of the original request.

![redirect](https://cloud.githubusercontent.com/assets/10107633/12716952/9aacdcba-c8e4-11e5-9a64-d26fe27f1cae.jpg)

In case of forwarding, the name of the controller is a file link and next to it there is a direct link to the profile of the sub request.

![forward](https://cloud.githubusercontent.com/assets/10107633/12716968/ba6b1fbc-c8e4-11e5-85fc-7f71969cb372.jpg)

This works pretty well in __Silex__ too by registering `SessionServiceProvider()` for redirections or by providing this method for forwarding :

```php
class App extends \Silex\Application
//  (php7 bootstrap) $app = new class extends \Silex\Application {
{
    public function forward($controller, array $path = array(), array $query = array()
    {
        if (!$this->booted) {
            throw new LogicException(sprintf('Method %s must be called from a controller.', __METHOD__));
        }

        $this->flush();

        $request = $this['request_stack']->getCurrentRequest();
        $path['_forwarded'] = $request->attributes;
        $path['_controller'] = $controller;
        $subRequest = $request->duplicate($query, null, $path);

        return $this['kernel']->handle($subRequest, HttpKernelInterface::SUB_REQUEST);
    }
}
```

Commits
-------

0a0e8af [WebProfilerBundle] show the http method in wdt if not 'GET'
4f020b5 [FrameworkBundle] Extends the RequestDataCollector
227ac77 [WebProfilerBundle] [FrameworkBundle] profile forward controller action
0a1b284 [WebProfiler] [HttpKernel] profile redirections
2016-03-31 11:32:58 +02:00
Jules Pietri
dfe4f5308a [FrameworkBundle] Deprecated form types as services 2016-03-30 19:13:54 +02:00