Commit Graph

12660 Commits

Author SHA1 Message Date
Christophe Coevoet
0d1cb3bd1b Deprecate loading multiple documents in the same crawler 2015-10-02 10:46:05 +02:00
Fabien Potencier
99745e12a7 feature #15742 Using a service as a router resource (weaverryan)
This PR was squashed before being merged into the 2.8 branch (closes #15742).

Discussion
----------

Using a service as a router resource

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | almost
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | not yet...

Hi guys!

This adds the ability to use a service as a routing resource. In other words, instead of loading `routing.yml`, you could load `my_route_loader`, and then a method would be called on your service to return a RouteCollection.

Specifically, I'm interested in this because it would allow a user to point their main router resource to the kernel itself, making it possible to load routes inside the kernel (making a single-file full-stack app more possible).

Thanks!

Commits
-------

79e210f Using a service as a router resource
2015-10-01 22:34:27 +02:00
Ryan Weaver
79e210f86c Using a service as a router resource 2015-10-01 22:34:24 +02:00
Fabien Potencier
54e3d71c03 feature #15778 Fluid interface for building routes in PHP (weaverryan)
This PR was squashed before being merged into the 2.8 branch (closes #15778).

Discussion
----------

Fluid interface for building routes in PHP

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | not yet...

This - along with #15742 - attempts to making adding routes in PHP (via an actual class+method) not only possible, but also useful.

The two classes - `Route` and `RouteCollectionBuilder` are based off of Silex's `Controller` and `ControllerCollection`. The `RouteCollectionBuilder` is basically a `RouteCollection` that's able to import other resources. Here are the goals:

A) Import routes easily

```php
$routes->import('routing.yml');
```

B) Fluid addition of routes into the collection

```php
$routes->add('/admin', 'AppBundle:Admin:index', 'admin_index')
    ->setMethods(['GET']);
```

C) Ability to create routes with auto-generating names

D) Ability to add a "sub-collection" (kind of like an import, without pointing to another file). Included is the ability to set the controller class:

```php
$blogRoutes = $routes->createBuilder('/blog')
   ->setControllerClass('AppBundle\Controller\BlogController');
$blogRoutes->add('/', 'indexAction');
$blogRoutes->add('/{id}', 'editAction');
$routes->addBuilder($blogRoutes);
```

E) The collection options can be set before or after the routes. With `RouteCollection`, if you set something - e.g. a prefix or a default - and THEN add more routes, those options are not passed to those routes. This is by design, but not ideal for building routes (e.g. in the previous code example, the controllerClass would not be applied using the opposite logic, since it's set before adding the routes).

Thanks!

Commits
-------

15ba2e8 Fluid interface for building routes in PHP
2015-10-01 22:32:51 +02:00
Ryan Weaver
15ba2e87a4 Fluid interface for building routes in PHP 2015-10-01 22:32:48 +02:00
Fabien Potencier
02b99dbed4 minor #16052 [CssSelector] synchronize tests for static and non-static API (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[CssSelector] synchronize tests for static and non-static API

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

Synchronizing the classes ensures that no tests are lost when the legacy
API is removed in #16020 for Symfony 3.0, thus mitigating the risk of
future regressions.

Commits
-------

2b29a40 synchronize tests for static and non-static API
2015-10-01 21:11:23 +02:00
Christian Flothmann
2b29a405be synchronize tests for static and non-static API
Synchronizing the classes ensures that no tests are lost when the legacy
API is removed in #16020 for Symfony 3.0, thus mitigating the risk of
future regressions.
2015-10-01 19:39:35 +02:00
Fabien Potencier
09ff9f851d bug #16051 [DomCrawler] fix deprecation triggers (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[DomCrawler] fix deprecation triggers

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

On HHVM, the SplObjectStorage class performs calls to its method
internally. These method calls must not lead to triggered deprecation
notices.

Commits
-------

aca6bd9 [DomCrawler] fix deprecation triggers
2015-10-01 19:38:01 +02:00
Christian Flothmann
aca6bd9bd6 [DomCrawler] fix deprecation triggers
The SplObjectStorage class performs calls to its own methods. These
method calls must not lead to triggered deprecation notices.
2015-10-01 18:34:33 +02:00
Tobias Schultze
c434bbd5f3 Merge branch '2.7' into 2.8 2015-10-01 17:32:55 +02:00
Tobias Schultze
4b0e4c4ee0 Merge branch '2.3' into 2.7
Conflicts:
	src/Symfony/Bundle/TwigBundle/Tests/Controller/ExceptionControllerTest.php
2015-10-01 17:31:29 +02:00
Fabien Potencier
a94d7a06d1 minor #15967 [Console] Fix tests for SymfonyStyle (1ed)
This PR was merged into the 2.7 branch.

Discussion
----------

[Console] Fix tests for SymfonyStyle

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

Commits
-------

7720f5c [Console] Fix tests for SymfonyStyle
2015-10-01 15:25:36 +02:00
Aarón Nieves Fernández
f15d179fbd The 'config' variable is already used as an array expression less... 2015-10-01 15:23:50 +02:00
Fabien Potencier
0b7e1f3e4d [Security] made tests work for 2.8 and 3.0 2015-10-01 08:20:17 +02:00
Fabien Potencier
fdb2073253 bug #16033 [Form] made the tests compatible with 3.0 (fabpot)
This PR was merged into the 2.8 branch.

Discussion
----------

[Form] made the tests compatible with 3.0

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

Commits
-------

795da85 [Form] made the tests compatible with 3.0
2015-10-01 07:58:36 +02:00
Fabien Potencier
795da85f9d [Form] made the tests compatible with 3.0 2015-09-30 22:53:32 +02:00
Fabien Potencier
a2914027ee bug #16030 [Security] add dependency required by a replaced package (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[Security] add dependency required by a replaced package

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

Since #16007, the Security HTTP component requires the PropertyAccess
component to access nested parameter bag values. Since the Security
component replaces the Security HTTP component, all dependencies of the
replaced packages must be mirrored here.

Commits
-------

d7034db add dependency required by a replaced package
2015-09-30 22:28:22 +02:00
Fabien Potencier
3b3431e289 feature #15938 [Console] Bind input before executing the COMMAND event (WouterJ)
This PR was merged into the 2.8 branch.

Discussion
----------

[Console] Bind input before executing the COMMAND event

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #10695 (problem 1)
| License       | MIT
| Doc PR        | -

Previously, `$input` wasn't very usefull in the `console.command` event, as the input was not yet bound to the command definition.

With this PR, the input is now bound twice: Once before the event is dispatched (to make it usefull in the listeners) and once at the original location in `Command#run()` (to allow changing the input definition in an event listener).

Commits
-------

0af1676 Bind input before executing the COMMAND event
2015-09-30 22:26:55 +02:00
Christian Flothmann
d7034db6bd add dependency required by a replaced package
Since #16007, the Security HTTP component requires the PropertyAccess
component to access nested parameter bag values. Since the Security
component replaces the Security HTTP component, all dependencies of the
replaced packages must be mirrored here.
2015-09-30 18:57:49 +02:00
Christian Flothmann
3d9a748978 [DomCrawler] always pass base href to subcrawlers
Make sure that all relevant information is passed to created crawlers.
To avoid future regressions, this commit backports the approach taken by
@stof in #15934 to have a single place in the class that is responsible
to create subcrawler instances.
2015-09-30 18:22:59 +02:00
Gábor Egyed
7720f5c70b [Console] Fix tests for SymfonyStyle 2015-09-30 15:35:30 +02:00
WouterJ
0af1676293 Bind input before executing the COMMAND event 2015-09-30 14:44:45 +02:00
Fabien Potencier
5ad49c6821 bug #16013 fixed deprecation notices (fabpot)
This PR was merged into the 2.8 branch.

Discussion
----------

fixed deprecation notices

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

Commits
-------

3047671 fixed deprecation notices
2015-09-30 14:29:03 +02:00
Fabien Potencier
ac8fd04d44 feature #15838 [VarDumper] Dump PHP+Twig code excerpts in backtraces (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[VarDumper] Dump PHP+Twig code excerpts in backtraces

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

ExceptionCaster::filterTrace() is deprecated and replaced by a more flexible backtrace processing that allows one to register casters for amending/changing dumped backtraces. This is especially useful for dumping source map information/excerpts (like e.g. twig template source).

Here is a comparison generated with this code snippet (see also the expected output in  testThrowingCaster):
```php

namespace Symfony\Component\VarDumper\Caster;

require 'vendor/autoload.php';

function bar()
{
    return foo();
}

function foo()
{
    dump(new \Exception('baz'));
}

bar('aaaaarg');
```

Before:
![before](https://cloud.githubusercontent.com/assets/243674/9976794/88f0259a-5eef-11e5-81a8-3cb9b44cfb00.png)

After:
![after](https://cloud.githubusercontent.com/assets/243674/9976747/6bbac068-5eed-11e5-99dc-a4fd5d3172b5.png)

Commits
-------

89578f1 [VarDumper] Dump PHP+Twig code excerpts in backtraces
2015-09-30 14:12:04 +02:00
Fabien Potencier
3047671fac fixed deprecation notices 2015-09-30 13:38:06 +02:00
Fabien Potencier
5c561d48f8 bug #15593 [Config] Fix ArrayNode extra keys "ignore" and "remove" behaviors (ogizanagi)
This PR was merged into the 2.8 branch.

Discussion
----------

[Config] Fix ArrayNode extra keys "ignore" and "remove" behaviors

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

Due to #14238 , no more exception is thrown when submitting extra keys to an `ArrayNode`.
For instance:

```php
$builder = new TreeBuilder();

$nodeDefinition = $builder->root('root')
    ->children()
        ->scalarNode('foo')
    ->end()
->end();

$node = $nodeDefinition->getNode(true);
$node->normalize(array(
    'foo' => 'ok',
    'bar' => 'ko',
));
```

will not throw a
> Symfony\Component\Config\Definition\Exception\InvalidConfigurationException: Unrecognized option "bar" under "root"`

anymore, as it does in 2.7.

I think the expected behavior is:

`Submitted data: ['bar' => 'ko']`

Ignore | Remove  | Expected | OK | Comment
---------| ------------ | ------------- | ------ | ----------
true    | true          | `[ ]`                   | ✔︎ | Previous behavior when ignoring.
true    | false          | `['bar' => 'ko']` | ✔︎ | This is the result targeted by #14238.
false    | true          | exception    | ✘ | Removing makes no sense when not ignoring extra keys. <br/>The exception should still be thrown.
false    | false          | exception    | ✘ | Previous behavior (2.7). <br/>Should not have changed

Commits
-------

d961f7f [Config] Fix ArrayNode extra keys "ignore" and "remove" behaviors
2015-09-30 13:24:58 +02:00
Fabien Potencier
3d117ffb41 fixed typos 2015-09-30 12:12:58 +02:00
Fabien Potencier
bb4a5116e1 Merge branch '2.7' into 2.8
* 2.7:
  [DependencyInjection] improved a comment for reading fluency
  [HttpKernel] change a class in tests to avoid depending on SQLite
  [Bridge\Twig] Fix form lowest version
  [ci] Display fastest results first when running tests in parallel
  [Yaml] Improve newline handling in folded scalar blocks
2015-09-30 11:15:55 +02:00
Fabien Potencier
f80e6c63d7 Merge branch '2.3' into 2.7
* 2.3:
  [DependencyInjection] improved a comment for reading fluency
  [HttpKernel] change a class in tests to avoid depending on SQLite
  [ci] Display fastest results first when running tests in parallel
  [Yaml] Improve newline handling in folded scalar blocks
2015-09-30 11:14:28 +02:00
Fabien Potencier
8f44cc311b feature #15944 Remove profiler storages (javiereguiluz)
This PR was squashed before being merged into the 2.8 branch (closes #15944).

Discussion
----------

Remove profiler storages

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

Commits
-------

83b2d7c Remove profiler storages
2015-09-30 11:11:34 +02:00
Javier Eguiluz
83b2d7c53b Remove profiler storages 2015-09-30 11:11:05 +02:00
Fabien Potencier
b258949453 feature #16007 [HttpFoundation] deprecate finding deep items in request parameters (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[HttpFoundation] deprecate finding deep items in request parameters

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

This is the same as #14203 but using the PropertyAccess component in the Security HTTP component to query nested request parameters and is rebased on the `2.8` branch.

Commits
-------

47fba88 deprecate finding deep items in request parameters
2015-09-30 11:02:12 +02:00
Christian Flothmann
47fba88123 deprecate finding deep items in request parameters 2015-09-30 09:55:52 +02:00
Fabien Potencier
5e46485b83 minor #16009 [HttpKernel] change a class in tests to avoid depending on SQLite (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpKernel] change a class in tests to avoid depending on SQLite

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

Commits
-------

d6a7517 [HttpKernel] change a class in tests to avoid depending on SQLite
2015-09-30 09:50:05 +02:00
Fabien Potencier
8b8b634fdc [CssSelector] updated README 2015-09-30 09:44:53 +02:00
Fabien Potencier
fd3fefbfcb [CssSelector] remove ConverterInterface 2015-09-30 09:43:59 +02:00
Christian Raue
55f3af7602 [DependencyInjection] improved a comment for reading fluency 2015-09-30 09:41:34 +02:00
Fabien Potencier
c0ff4bfbbc bug #15482 [Yaml] Improve newline handling in folded scalar blocks (teohhanhui)
This PR was merged into the 2.3 branch.

Discussion
----------

[Yaml] Improve newline handling in folded scalar blocks

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #15477
| License       | MIT
| Doc PR        | N/A

Commits
-------

73366d5 [Yaml] Improve newline handling in folded scalar blocks
2015-09-30 08:37:21 +02:00
Fabien Potencier
d6a7517923 [HttpKernel] change a class in tests to avoid depending on SQLite 2015-09-30 08:34:42 +02:00
Fabien Potencier
d8dc8f27fd minor #15993 [ci] Display fastest results first when running tests in parallel (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[ci] Display fastest results first when running tests in parallel

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

Keeping order prevents seeing failures early as they happen. I propose to display tests results asap instead.
Best viewed with: https://github.com/symfony/symfony/pull/15993/files?w=1

Commits
-------

3d6c864 [ci] Display fastest results first when running tests in parallel
2015-09-30 07:57:50 +02:00
Tobias Schultze
00dffe73b8 remove api tags that are new in 2.8 2015-09-29 14:35:00 +02:00
Tobias Schultze
a2a4967167 Merge branch '2.7' into 2.8
Conflicts:
	src/Symfony/Component/Console/Application.php
	src/Symfony/Component/Console/Command/Command.php
	src/Symfony/Component/Console/Formatter/OutputFormatter.php
	src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php
	src/Symfony/Component/Console/Input/Input.php
	src/Symfony/Component/Console/Input/InputArgument.php
	src/Symfony/Component/Console/Input/InputDefinition.php
	src/Symfony/Component/Console/Input/InputOption.php
	src/Symfony/Component/Console/Output/OutputInterface.php
	src/Symfony/Component/Console/Output/StreamOutput.php
	src/Symfony/Component/CssSelector/CssSelector.php
	src/Symfony/Component/DependencyInjection/Container.php
	src/Symfony/Component/DependencyInjection/ContainerBuilder.php
	src/Symfony/Component/DependencyInjection/ContainerInterface.php
	src/Symfony/Component/DependencyInjection/Definition.php
	src/Symfony/Component/DependencyInjection/Scope.php
	src/Symfony/Component/DependencyInjection/ScopeInterface.php
	src/Symfony/Component/Validator/Constraints/Currency.php
	src/Symfony/Component/Validator/Constraints/CurrencyValidator.php
2015-09-29 14:32:55 +02:00
Tobias Schultze
3146062fb7 fix merge 2015-09-29 14:13:09 +02:00
Tobias Schultze
331019e87b remove api tags that are new in 2.7 2015-09-29 14:08:33 +02:00
Tobias Schultze
8573385a83 Merge branch '2.3' into 2.7
Conflicts:
	src/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php
	src/Symfony/Component/ClassLoader/DebugClassLoader.php
	src/Symfony/Component/ClassLoader/UniversalClassLoader.php
	src/Symfony/Component/Console/Command/Command.php
	src/Symfony/Component/DependencyInjection/Definition.php
	src/Symfony/Component/DependencyInjection/DefinitionDecorator.php
	src/Symfony/Component/EventDispatcher/Event.php
	src/Symfony/Component/Filesystem/Exception/IOException.php
	src/Symfony/Component/HttpFoundation/File/File.php
	src/Symfony/Component/HttpFoundation/ResponseHeaderBag.php
	src/Symfony/Component/HttpFoundation/Session/SessionInterface.php
	src/Symfony/Component/HttpFoundation/StreamedResponse.php
	src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php
	src/Symfony/Component/HttpKernel/Controller/ControllerResolverInterface.php
	src/Symfony/Component/HttpKernel/HttpKernel.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/HttpKernel/KernelInterface.php
	src/Symfony/Component/HttpKernel/Log/LoggerInterface.php
	src/Symfony/Component/HttpKernel/Log/NullLogger.php
	src/Symfony/Component/Process/Process.php
	src/Symfony/Component/Routing/RequestContext.php
	src/Symfony/Component/Routing/Route.php
	src/Symfony/Component/Templating/EngineInterface.php
	src/Symfony/Component/Templating/PhpEngine.php
	src/Symfony/Component/Templating/TemplateNameParser.php
	src/Symfony/Component/Templating/TemplateReference.php
	src/Symfony/Component/Templating/TemplateReferenceInterface.php
	src/Symfony/Component/Translation/IdentityTranslator.php
	src/Symfony/Component/Translation/Translator.php
	src/Symfony/Component/Validator/ConstraintViolationInterface.php
	src/Symfony/Component/Validator/Constraints/False.php
	src/Symfony/Component/Validator/Constraints/FalseValidator.php
	src/Symfony/Component/Validator/Constraints/GroupSequence.php
	src/Symfony/Component/Validator/Constraints/Image.php
	src/Symfony/Component/Validator/Constraints/Null.php
	src/Symfony/Component/Validator/Constraints/NullValidator.php
	src/Symfony/Component/Validator/Constraints/True.php
	src/Symfony/Component/Validator/Constraints/TrueValidator.php
	src/Symfony/Component/Validator/ExecutionContextInterface.php
	src/Symfony/Component/Validator/ValidatorInterface.php
2015-09-29 14:06:14 +02:00
Tobias Schultze
e1ede46b7d minor #15979 remove api tags from code (Tobion)
This PR was merged into the 2.3 branch.

Discussion
----------

remove api tags from code

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

Commits
-------

f1c7c65 remove api tags from code
2015-09-29 13:19:55 +02:00
Nicolas Grekas
525e63d68c [Form] Fix merge 2015-09-29 11:59:39 +02:00
Nicolas Grekas
3d6c86496e [ci] Display fastest results first when running tests in parallel 2015-09-29 11:43:32 +02:00
Nicolas Grekas
89578f15c5 [VarDumper] Dump PHP+Twig code excerpts in backtraces 2015-09-29 08:51:06 +02:00
Fabien Potencier
e256593be3 minor #15984 [Ldap] add some missing license file headers (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[Ldap] add some missing license file headers

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/14602#discussion_r40560813
| License       | MIT
| Doc PR        |

Commits
-------

2b90fcf [Ldap] add some missing license file headers
2015-09-28 23:21:28 +02:00