Commit Graph

20010 Commits

Author SHA1 Message Date
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
Javier Eguiluz
12d447d3c8 Fixed form types in profiler 2016-01-20 12:43:36 +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
98f86c0834 bug #17041 [FrameworkBundle] Added the assets helper again (dosten)
This PR was merged into the 3.0 branch.

Discussion
----------

[FrameworkBundle] Added the assets helper again

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

This PR is a follow up of #14972, we deprecated and removed the AssetsHelper in 2.7/3.0 doing impossible to use the Asset component and the PHP templates together, I've submitted this PR to be merged in 3.0 because IMO this is a bug fix, but we documented the deprecation and removal of the helper, what we should do here? (https://github.com/symfony/symfony/blob/3.0/UPGRADE-3.0.md#frameworkbundle and https://github.com/symfony/symfony/blob/2.8/UPGRADE-2.7.md#frameworkbundle)

cc/ @WouterJ

Commits
-------

98cb838 Added the assets helper again
2016-01-19 22:28:11 +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
Fabien Potencier
63cb9a90e2 bug #17433 [FrameworkBundle] Don't log twice with the error handler (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] Don't log twice with the error handler

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

Commits
-------

90d493e [FrameworkBundle] Don't log twice with the error handler
2016-01-19 13:12:05 +01:00
Matthieu Napoli
1b170d7a85 Improve the phpdoc of SplFileInfo methods 2016-01-19 13:10:23 +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
02f66e2ff5 bug #17418 Fixed Bootstrap form theme form "reset" buttons (javiereguiluz)
This PR was merged into the 2.7 branch.

Discussion
----------

Fixed Bootstrap form theme form "reset" buttons

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

All the credit for this solution goes to @AntonioAmore, who reported the error originally and provided a solution. I only confirmed the bug and verified the proposed solution.

Commits
-------

67c7f05 Fixed Bootstrap form theme form "reset" buttons
2016-01-19 08:38:18 +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
Nicolas Grekas
90d493ea97 [FrameworkBundle] Don't log twice with the error handler 2016-01-19 00:13:42 +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
Javier Eguiluz
67c7f05d96 Fixed Bootstrap form theme form "reset" buttons 2016-01-18 17:01:35 +01:00
Javier Eguiluz
b23f2ef9af Fixed the form profiler when using long form types 2016-01-18 15:59:33 +01:00
Kévin Dunglas
73db0ec7b4 [PropertyInfo] PhpDocExtractor: Fix a notice when the property doesn't exist 2016-01-18 11:44:30 +01:00
Wouter J
deab127663 Remove useless duplicated tests 2016-01-18 10:52:44 +01:00
Fabien Potencier
80086ad54b minor #17399 [FrameworkBundle] Optimize framework extension tests (paradajozsef)
This PR was squashed before being merged into the 2.3 branch (closes #17399).

Discussion
----------

[FrameworkBundle] Optimize framework extension tests

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

```XmlFrameworkExtensionTest```, ```YamlFrameworkExtensionTest``` and ```PhpFrameworkExtensionTest``` are slow tests. The reason is that the [parent test](https://github.com/symfony/symfony/blob/2.3/src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php#L308) creates the container in every test case. With different parameters, but the same is created several times. (actually with 'full' parameter it is created 12 times in 2.3) If we cache the different containers during test, we avoid to creating the same container multiple times.

As I experienced it can be merged without a conflict into 2.3 and 2.7, but 2.8 and 3.0 conflicts.

I have these result on my local setup. Not that big optimalization, but a few second can matter too imo. :)

**2.3 before**

```go
Time: 8.79 seconds, Memory: 55.75Mb
OK (449 tests, 586 assertions)
OK src/Symfony/Bundle/FrameworkBundle
```

**2.3 after**

```go
Time: 5.85 seconds, Memory: 58.25Mb
OK (449 tests, 586 assertions)
OK src/Symfony/Bundle/FrameworkBundle
```

----

**2.7 before**

```go
Time: 17.17 seconds, Memory: 81.50Mb
OK, but incomplete, skipped, or risky tests!
Tests: 753, Assertions: 1098, Skipped: 3.
Legacy deprecation notices (45)
OK src/Symfony/Bundle/FrameworkBundle
```
**2.7 after**

```go
Time: 12.65 seconds, Memory: 88.00Mb
OK, but incomplete, skipped, or risky tests!
Tests: 753, Assertions: 1098, Skipped: 3.
Legacy deprecation notices (41)
OK src/Symfony/Bundle/FrameworkBundle
```

----

**2.8 before**

```go
Time: 18.94 seconds, Memory: 88.00Mb
OK, but incomplete, skipped, or risky tests!
Tests: 787, Assertions: 1159, Skipped: 3.
Legacy deprecation notices (89)
OK src/Symfony/Bundle/FrameworkBundle
```

**2.8 after**

```go
Time: 12.69 seconds, Memory: 94.50Mb
OK, but incomplete, skipped, or risky tests!
Tests: 787, Assertions: 1159, Skipped: 3.
Legacy deprecation notices (85)
OK src/Symfony/Bundle/FrameworkBundle
```

----

**3.0 before**

```go
Time: 16.48 seconds, Memory: 73.75Mb
OK (741 tests, 1043 assertions)
OK src/Symfony/Bundle/FrameworkBundle
```

**3.0 after**

```go
Time: 11.49 seconds, Memory: 76.75Mb
OK (741 tests, 1043 assertions)
OK src/Symfony/Bundle/FrameworkBundle
```

Commits
-------

f6a078b [FrameworkBundle] Optimize framework extension tests
2016-01-17 17:17:04 +01:00
Paráda József
f6a078b96c [FrameworkBundle] Optimize framework extension tests 2016-01-17 17:17:03 +01:00
Fabien Potencier
ab43f389e2 minor #17401 [2.7] Use is_subclass_of instead of reflection (Ener-Getick)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7] Use is_subclass_of instead of reflection

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

Follows https://github.com/symfony/symfony/pull/17400

>
For performance reason, I replaced a reflection instantiation by ``is_subclass_of``.

Commits
-------

5af5d06 Use is_subclass_of instead of reflection
2016-01-16 19:10:37 +01:00
Tobias Schultze
aedeebb4f1 fix merge 2.3 into 2.7 for SecureRandom dependency 2016-01-16 18:29:47 +01:00
Fabien Potencier
caae21c52f feature #17323 [DependencyInjection] Deprecate unsupported attributes/elements for alias (Ener-Getick)
This PR was squashed before being merged into the 3.1-dev branch (closes #17323).

Discussion
----------

[DependencyInjection] Deprecate unsupported attributes/elements for alias

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

Following https://github.com/symfony/symfony/pull/17133, this PR deprecates using unsupported keywords on alias definition.

For example the following examples will trigger deprecations:
```xml
<?xml version="1.0" encoding="utf-8"?>
<container>
  <services>
    <service id="bar" alias="foo" class="Foo">
        <tag name="foo.bar" />
    </service>
  </services>
</container>
```
```yml
services:
    bar:
        alias: foo
        parent: quz
```

Commits
-------

49eb65c [DependencyInjection] Deprecate unsupported attributes/elements for alias
2016-01-16 15:18:33 +01:00
Ener-Getick
49eb65c63e [DependencyInjection] Deprecate unsupported attributes/elements for alias 2016-01-16 15:18:32 +01:00
Ener-Getick
5af5d06f2e Use is_subclass_of instead of reflection 2016-01-16 14:49:28 +01:00
Ener-Getick
51e3652aeb Use is_subclass_of instead of Reflection when possible 2016-01-16 14:42:15 +01:00
Fabien Potencier
8d7b19fbbe Merge branch '2.3' into 2.7
* 2.3:
  Fixed correct class name in thrown exception
  Add gc_mem_caches() call for PHP7 after itoken_get_all() as new memory manager will not release small buckets to OS automatically
  Removed a duplicated test in CardSchemeValidatorTest
  Fix perf and mem issue when using token_get_all
  [SecurityBundle] fix SecureRandom service constructor args
  Normalize params only when used.
2016-01-16 05:55:21 +01:00
Fabien Potencier
7d72f93e90 bug #17373 [SecurityBundle] fix SecureRandom service constructor args (Tobion)
This PR was merged into the 2.3 branch.

Discussion
----------

[SecurityBundle] fix SecureRandom service constructor args

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

Commits
-------

50d55f6 [SecurityBundle] fix SecureRandom service constructor args
2016-01-16 05:53:05 +01:00
Paráda József
d7e3254438 [3.0] Remove calls to not-existent method 2016-01-16 01:08:58 +01:00
Paráda József
724031822a [3.0] Remove useless array declaration 2016-01-15 23:47:08 +01:00
Fabien Potencier
3223c2517e bug #17382 [TwigBridge] Use label_format option for checkbox and radio labels (enumag)
This PR was merged into the 2.8 branch.

Discussion
----------

[TwigBridge] Use label_format option for checkbox and radio labels

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

Commits
-------

6fbd9a7 [TwigBridge] Use label_format option for checkbox and radio labels
2016-01-15 18:05:52 +01:00
Fabien Potencier
0f6a32dac9 bug #17380 [TwigBridge] Use label_format option for checkbox and radio labels (enumag)
This PR was merged into the 2.7 branch.

Discussion
----------

[TwigBridge] Use label_format option for checkbox and radio labels

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

Commits
-------

dc8f780 [TwigBridge] Use label_format option for checkbox and radio labels
2016-01-15 18:01:21 +01:00
Fabien Potencier
9d189137e3 minor #17364 [Bridge] [Doctrine] Normalize params only when used. [2.3] (SpacePossum)
This PR was merged into the 2.3 branch.

Discussion
----------

[Bridge] [Doctrine] Normalize params only when used. [2.3]

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

If no logger is set the params are not used so those don't have to be normalized.

Commits
-------

6852a46 Normalize params only when used.
2016-01-15 17:58:40 +01:00
Fabien Potencier
ac3111fe8a bug #17377 Fix performance (PHP5) and memory (PHP7) issues when using token_get_all (nicolas-grekas, peteward)
This PR was merged into the 2.3 branch.

Discussion
----------

Fix performance (PHP5) and memory (PHP7) issues when using token_get_all

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

Although it's not the case anymore on PHP 7, on PHP 5, `is_array` checks are much slower than `isset` checks.

Also from @peteward in #17384:
>  New PHP7 memory manager will not release small buckets to OS automatically in cases exposed by `token_get_all()`. This function call addition specifically for PHP7 will reclaim this memory to keep the footprint down of long processe

> See above ticket and suggested actions by PHP internals team for long-running tasks (https://bugs.php.net/70098) - I think `cache:clear/warmup` on a heavy app justifies this.

> We're running on cloud-based hosting platforms under memory limitations (Platform.sh). When memory is exceeded we're into swap and the cache clearing process goes from seconds to minutes for the initial deployment, which really slows our development workflow and also causes holding page delays.

Commits
-------

e555aad Add gc_mem_caches() call for PHP7 after itoken_get_all() as new memory manager will not release small buckets to OS automatically
d1f72d8 Fix perf and mem issue when using token_get_all
2016-01-15 17:52:13 +01:00
Robin van der Vleuten
c847feb5f3 Fixed correct class name in thrown exception 2016-01-15 15:32:28 +01:00