Commit Graph

13920 Commits

Author SHA1 Message Date
Fabien Potencier
0974606d60 made some cleanup in tests 2016-01-25 12:33:17 +01:00
Mátyás Somfai
6a1080f899 [HttpKernel] added a setter for the headers property in the HttpException 2016-01-25 12:19:00 +01:00
Fabien Potencier
e9e4869c98 feature #17132 [DependencyInjection] Properly ignore invalid reference arguments in collection arguments (ogizanagi)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[DependencyInjection] Properly ignore invalid reference arguments in collection arguments

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

With this new feature, the following configuration:

```xml
<service id="baz" class="Baz"/>

<service id="foo" class="Foo">
    <argument type="collection">
        <argument type="service" id="bar" on-invalid="ignore" />
        <argument type="service" id="baz" />
        <argument type="service" id="moo" on-invalid="null" />
    </argument>

    <argument type="service" id="bar" on-invalid="ignore" />
    <argument type="service" id="baz" />
    <argument type="service" id="moo" on-invalid="null" />

    <call method="foo">
        <argument type="service" id="bar" on-invalid="ignore" />
    </call>
    <call method="fooCollection">
        <argument type="collection">
            <argument type="service" id="bar" on-invalid="ignore" />
            <argument type="service" id="baz" />
            <argument type="service" id="moo" on-invalid="null" />
        </argument>
    </call>
</service>
```

will result into the following `Definition`:

```php
Definition {#64 ▼
  -class: "Foo"
  // […]
  -calls: array:1 [▼
    0 => array:2 [▼
      0 => "fooCollection"
      1 => array:1 [▼
        0 => array:2 [▼
          0 => Reference {#59 ▼
            -id: "baz"
            -invalidBehavior: 1
          }
          1 => null
        ]
      ]
    ]
  ]
  // […]
  #arguments: array:4 [▼
    0 => array:2 [▼
      0 => Reference {#63 ▼
        -id: "baz"
        -invalidBehavior: 1
      }
      1 => null
    ]
    1 => null
    2 => Reference {#56 ▼
      -id: "baz"
      -invalidBehavior: 1
    }
    3 => null
  ]
}
```

Invalid references are ignored instead of replaced by `null` when they are part of a collection argument.
If the collection argument is part of a method call and contains an invalid reference, the method call is kept, but the invalid reference removed.

The behavior stays the same as before for non-collection arguments.

🎄

Commits
-------

cfc4879 [DependencyInjection] Properly ignore invalid reference arguments in collection arguments
2016-01-25 12:14:38 +01:00
Fabien Potencier
d55114ef34 feature #17427 [Process] Allow a callback whenever the output is disabled (romainneutron)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[Process] Allow a callback whenever the output is disabled

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | Related to #17390
| License       | MIT

This was not allowed in the past. However, it's possible with these changes

Commits
-------

02f0fc7 [Process] Allow a callback whenever the output is disabled
2016-01-25 12:11:57 +01:00
Fabien Potencier
36c2961def feature #16909 Allows access to payload in callback validator (conradkleinespel)
This PR was merged into the 3.1-dev branch.

Discussion
----------

Allows access to payload in callback validator

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

Commits
-------

26cd91d allows access to payload in callback validator
2016-01-25 09:16:45 +01:00
Kévin Dunglas
ed2cdfa827 feature #17411 [Serializer] Add a new DateTime normalizer (dunglas)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[Serializer] Add a new DateTime normalizer

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

This PR add support for dates and times to the Normalizer component. It supports all date and time formats supported by PHP. Dates and times are normalized in the RFC 3339 format by default. The output format can be customized using the `$context` parameter. The default format can be changed using a constructor parameter.

Usage:

```php
use Symfony\Component\Serializer\Normalizer\DateTimeNormalizer;
use Symfony\Component\Serializer\Serializer;

$serializer = new Serializer(array(new DateTimeNormalizer()));

echo $serializer->normalize(new \DateTimeImmutable('2016/01/01'));
// 2016-01-01T00:00:00+00:00

echo $serializer->normalize(new \DateTime('2016/01/01'));
// 2016-01-01T00:00:00+00:00

echo $serializer->normalize(new \DateTime('2016/01/01'), null, array(DateTimeNormalizer::FORMAT_KEY => 'Y'))
// 2016

var_dump($serializer->denormalize('2016-01-01T00:00:00+00:00', \DateTimeInterface::class));
// class DateTimeImmutable#1 (3) {
//   public $date =>
//   string(26) "2016-01-01 00:00:00.000000"
//   public $timezone_type =>
//   int(1)
//   public $timezone =>
//   string(6) "+00:00"
// }

var_dump($serializer->denormalize('2016-01-01T00:00:00+00:00', \DateTime::class));
// class DateTime#1 (3) {
//   public $date =>
//   string(26) "2016-01-01 00:00:00.000000"
//   public $timezone_type =>
//   int(1)
//   public $timezone =>
//   string(6) "+00:00"
// }
```

Commits
-------

6749a70 [Serializer] Add a new DateTime normalizer
2016-01-22 08:40:56 +01:00
Kévin Dunglas
6749a70326 [Serializer] Add a new DateTime normalizer 2016-01-22 08:14:37 +01:00
Fabien Potencier
ab951a44ba feature #17462 [Yaml] deprecate parsing the !!php/object tag (xabbuh)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[Yaml] deprecate parsing the !!php/object tag

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

Commits
-------

3380346 [Yaml] deprecate parsing the !!php/object tag
f146c8d tag for dumped PHP objects must be a local one
2016-01-22 07:37:40 +01:00
Fabien Potencier
09f92ba516 Merge branch '3.0'
* 3.0:
  fixed CS
  fixed CS
  fixed CS
  fixed test
  fixed CS
  Remove default match from AbstractConfigCommand::findExtension
  Remove unused imports
  [FrameworkBundle][Validator] Fix apc cache service deprecation
2016-01-21 11:01:50 +01:00
Fabien Potencier
e9143fd837 fixed CS 2016-01-21 10:55:31 +01:00
Fabien Potencier
2b1daa462f minor #17465 Remove unused imports (Koc)
This PR was merged into the 3.0 branch.

Discussion
----------

Remove unused imports

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

Commits
-------

b8028f6 Remove unused imports
2016-01-21 10:53:31 +01:00
Fabien Potencier
dba07f35c1 Merge branch '2.8' into 3.0
* 2.8:
  fixed CS
  fixed CS
  fixed test
  fixed CS
  Remove default match from AbstractConfigCommand::findExtension
  [FrameworkBundle][Validator] Fix apc cache service deprecation
2016-01-21 10:38:31 +01:00
Fabien Potencier
3aafa78f4d fixed CS 2016-01-21 10:24:53 +01:00
Fabien Potencier
9188f0507d Merge branch '2.7' into 2.8
* 2.7:
  fixed CS
  fixed test
  fixed CS
  Remove default match from AbstractConfigCommand::findExtension
2016-01-21 10:05:51 +01:00
Fabien Potencier
06b958a17e fixed CS 2016-01-21 09:40:25 +01:00
Fabien Potencier
9afd7e02e0 Merge branch '2.3' into 2.7
* 2.3:
  fixed test
2016-01-21 09:40:12 +01:00
Fabien Potencier
6eda9ad834 fixed test 2016-01-21 09:40:05 +01:00
Paráda József
96e40b22b2 Fix unit tests in master 2016-01-21 09:17:58 +01:00
Fabien Potencier
ddc668d1cb Merge branch '2.3' into 2.7
* 2.3:
  fixed CS
2016-01-21 07:59:09 +01:00
Fabien Potencier
64515b8049 Merge branch '3.0'
* 3.0:
  make tests compatible with Symfony 2.8 and 3.0
2016-01-21 07:33:52 +01:00
Fabien Potencier
78c8543d25 Merge branch '2.8' into 3.0
* 2.8:
  make tests compatible with Symfony 2.8 and 3.0
2016-01-21 07:33:42 +01:00
Fabien Potencier
42862c4668 fixed CS 2016-01-21 07:28:40 +01:00
Konstantin.Myakshin
b8028f6053 Remove unused imports 2016-01-21 00:01:55 +02:00
Christian Flothmann
4d2930e52a make tests compatible with Symfony 2.8 and 3.0 2016-01-20 21:05:54 +01:00
Christian Flothmann
3380346108 [Yaml] deprecate parsing the !!php/object tag 2016-01-20 20:25:36 +01:00
Christian Flothmann
f146c8d71b tag for dumped PHP objects must be a local one 2016-01-20 20:18:17 +01:00
Fabien Potencier
a729462ce1 Merge branch '3.0'
* 3.0: (36 commits)
  Fixed form types in profiler
  [Process] Use stream based storage to avoid memory issues
  Fix upgrade guides concerning erroneous removal of assets helper
  [Process] Remove a misleading comment
  Fix markdown typo
  ChooseBaseUrl should return an index
  [Form] ChoiceType: Fix a notice when 'choices' normalizer is replaced
  Improve the phpdoc of SplFileInfo methods
  [Process] Use stream based storage to avoid memory issues
  [FrameworkBundle] Don't log twice with the error handler
  synchronize 2.8 and 3.0 upgrade files
  Remove useless is_object condition
  [Process] Fix typo, no arguments needed anymore
  [Serializer] Introduce constants for context keys
  Fixed the documentation of VoterInterface::supportsAttribute
  Fixed Bootstrap form theme form "reset" buttons
  Fixed the form profiler when using long form types
  [PropertyInfo] PhpDocExtractor: Fix a notice when the property doesn't exist
  Remove useless duplicated tests
  [FrameworkBundle] Optimize framework extension tests
  ...
2016-01-20 13:19:44 +01:00
Fabien Potencier
67df429d99 Merge branch '2.8' into 3.0
* 2.8: (48 commits)
  [Process] Use stream based storage to avoid memory issues
  Fix upgrade guides concerning erroneous removal of assets helper
  [Process] Remove a misleading comment
  Fix markdown typo
  ChooseBaseUrl should return an index
  [Form] ChoiceType: Fix a notice when 'choices' normalizer is replaced
  Improve the phpdoc of SplFileInfo methods
  [Process] Use stream based storage to avoid memory issues
  [FrameworkBundle] Don't log twice with the error handler
  synchronize 2.8 and 3.0 upgrade files
  Remove useless is_object condition
  [Process] Fix typo, no arguments needed anymore
  [Serializer] Introduce constants for context keys
  Fixed the documentation of VoterInterface::supportsAttribute
  Fixed Bootstrap form theme form "reset" buttons
  Fixed the form profiler when using long form types
  [PropertyInfo] PhpDocExtractor: Fix a notice when the property doesn't exist
  Remove useless duplicated tests
  [FrameworkBundle] Optimize framework extension tests
  synchronize 2.7 and 3.0 upgrade files
  ...
2016-01-20 13:18:23 +01:00
Fabien Potencier
fd50be95d9 Merge branch '2.7' into 2.8
* 2.7: (28 commits)
  [Process] Use stream based storage to avoid memory issues
  Fix upgrade guides concerning erroneous removal of assets helper
  [Process] Remove a misleading comment
  Fix markdown typo
  ChooseBaseUrl should return an index
  [Form] ChoiceType: Fix a notice when 'choices' normalizer is replaced
  Improve the phpdoc of SplFileInfo methods
  [Process] Use stream based storage to avoid memory issues
  [FrameworkBundle] Don't log twice with the error handler
  Remove useless is_object condition
  [Process] Fix typo, no arguments needed anymore
  [Serializer] Introduce constants for context keys
  Fixed the documentation of VoterInterface::supportsAttribute
  Fixed Bootstrap form theme form "reset" buttons
  Remove useless duplicated tests
  [FrameworkBundle] Optimize framework extension tests
  synchronize 2.7 and 3.0 upgrade files
  fix merge 2.3 into 2.7 for SecureRandom dependency
  Use is_subclass_of instead of reflection
  Use is_subclass_of instead of Reflection when possible
  ...
2016-01-20 13:09:07 +01:00
Romain Neutron
2d931f43e0 [Process] Use stream based storage to avoid memory issues 2016-01-20 10:24:45 +01:00
Fabien Potencier
6ec5537aed Merge branch '2.3' into 2.7
* 2.3:
  [Process] Remove a misleading comment
  Improve the phpdoc of SplFileInfo methods
  [Process] Use stream based storage to avoid memory issues
  Fixed the documentation of VoterInterface::supportsAttribute
  Remove useless duplicated tests
  [FrameworkBundle] Optimize framework extension tests
  Use is_subclass_of instead of Reflection when possible
2016-01-20 07:45:12 +01:00
Fabien Potencier
6d8078febf bug #17423 [2.3][Process] Use stream based storage to avoid memory issues (romainneutron)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3][Process] Use stream based storage to avoid memory issues

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

Commits
-------

da73125 [Process] Use stream based storage to avoid memory issues
2016-01-20 07:43:36 +01:00
Fabien Potencier
1941add676 minor #17419 Fixed the documentation of VoterInterface::supportsAttribute (javiereguiluz)
This PR was merged into the 2.3 branch.

Discussion
----------

Fixed the documentation of VoterInterface::supportsAttribute

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

Commits
-------

d662c2a Fixed the documentation of VoterInterface::supportsAttribute
2016-01-19 22:34:18 +01:00
Fabien Potencier
90ce9bc35e minor #17378 [Asset] ChooseBaseUrl should return an offset (bburnichon)
This PR was merged into the 2.7 branch.

Discussion
----------

[Asset] ChooseBaseUrl should return an offset

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

Enforce chooseBaseUrl to return an integer offset to the baseUrls member.

Commits
-------

0d041c3 ChooseBaseUrl should return an index
2016-01-19 17:56:49 +01:00
Jakub Zalas
71f4a3200e [Process] Remove a misleading comment
The described behaviour was never implemented.
2016-01-19 16:31:40 +00:00
Benoît Burnichon
0d041c3f8a ChooseBaseUrl should return an index
Enforce chooseBaseUrl to return an integer index to the baseUrls member.
2016-01-19 13:47:30 +01:00
Fabien Potencier
414ddf7c2c bug #17406 [Form] ChoiceType: Fix a notice when 'choices' normalizer is replaced (paradajozsef)
This PR was squashed before being merged into the 2.7 branch (closes #17406).

Discussion
----------

[Form] ChoiceType: Fix a notice when 'choices' normalizer is replaced

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

As @gseidel [mentioned](https://github.com/symfony/symfony/issues/17270#issuecomment-169115049), the notice only occurs, when a custom choice field added after a choice field **and** the custom type is expanded, **and** the ```'choices'``` normalizer is replaced. The problem is that when ```'choices'``` option is replaced, the [default choiceNormalizer](https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php#L262) is not invoked. This normalizer would [clear](https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php#L264) the labels from previous invocation, but it's been replaced in the custom choice type. As a result [$choiceLabel](https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php#L279) normalizer will get the wrong labels because it shares the same scope with [$choiceNormalizer](https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php#L262). Resetting the label values after copy solves this problem.

Commits
-------

be056fd [Form] ChoiceType: Fix a notice when 'choices' normalizer is replaced
2016-01-19 13:18:15 +01:00
Paráda József
be056fd0bf [Form] ChoiceType: Fix a notice when 'choices' normalizer is replaced 2016-01-19 13:18:13 +01:00
Fabien Potencier
d55f73fb12 minor #17422 [Serializer] Introduce constants for context keys (dunglas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] Introduce constants for context keys

| 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

Introduces constants for keys. Follow up @xabbuh's https://github.com/symfony/symfony/pull/17113/files#r48598904

Commits
-------

c56c7bf [Serializer] Introduce constants for context keys
2016-01-19 13:16:25 +01:00
Fabien Potencier
3a19369e61 minor #17431 [Serializer] Remove useless is_object condition (paradajozsef)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] Remove useless is_object condition

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

[This condition](https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Serializer/Serializer.php#L185) is useless, because ```$class``` is not used in ```getNormalizer()```.

Commits
-------

f6fd5e4 Remove useless is_object condition
2016-01-19 13:13:55 +01:00
Matthieu Napoli
1b170d7a85 Improve the phpdoc of SplFileInfo methods 2016-01-19 13:10:23 +01:00
Romain Neutron
02f0fc7fc2 [Process] Allow a callback whenever the output is disabled 2016-01-19 12:43:51 +01:00
Romain Neutron
da73125a9c [Process] Use stream based storage to avoid memory issues 2016-01-19 11:50:56 +01:00
Kévin Dunglas
85fd8754ec minor #17286 [Serializer] Refactor serializer normalize method (jvasseur)
This PR was merged into the 2.7 branch.

Discussion
----------

[Serializer] Refactor serializer normalize method

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

The serializer normalize method contains some dead or duplicate code. This PR refactor the method to make it simpler.

I tried to keep the same Exceptions in the same situations but they could probably be simplified too. (The last case only append if you pass a ressource to the serializer.)

Commits
-------

2bb5f45 Refactor serializer normalize method
2016-01-19 09:01:47 +01:00
Fabien Potencier
cc84be9d53 feature #17408 [Cache] Symfony PSR-6 implementation (nicolas-grekas)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[Cache] Symfony PSR-6 implementation

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

From the provided README.md:

This component provides a strict [PSR-6](http://www.php-fig.org/psr/psr-6/) implementation for adding cache to your applications. It is designed to have a low overhead so that caching is fastest. It ships with a few caching adapters for the most widespread and suited to caching backends. It also provides a `doctrine/cache` proxy adapter to cover more advanced caching needs.

Todo:
- [ ] add more tests
- [ ] add a FilesystemAdapter

Commits
-------

91e482a [Cache] Symfony PSR-6 implementation
2016-01-19 08:12:07 +01:00
Nicolas Grekas
91e482ae8e [Cache] Symfony PSR-6 implementation 2016-01-19 08:02:17 +01:00
Paráda József
f6fd5e47ed Remove useless is_object condition 2016-01-18 23:07:25 +01:00
Romain Neutron
7f89158a0d [Process] Fix typo, no arguments needed anymore 2016-01-18 19:47:39 +01:00
Kévin Dunglas
c56c7bf869 [Serializer] Introduce constants for context keys 2016-01-18 17:42:55 +01:00
Javier Eguiluz
d662c2ae8f Fixed the documentation of VoterInterface::supportsAttribute 2016-01-18 17:25:45 +01:00