Added HttpCache\Store::generateContentDigest() + changed visibility
merged branch lolautruche/httpCacheStoreExtendable (PR #6016)

This PR was submitted for the master branch but it was merged into the 2.1 branch instead (closes #6016).

Commits
-------

9b0cad4 Added HttpCache\Store::generateContentDigest() + changed  visibility

Discussion
----------

Added HttpCache\Store::generateContentDigest() + changed $root visibility

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -

## Description
This PR adds 2 small changes in base `HttpCache\Store`:

1. Adds `generateContentDigest()` protected method, allowing to easily override the default behavior for special cases.
2. Change `$root` visibility to *protected* to let descendant access it.

This allows special implementations of HttpCache when storing specific cache files in a different place is needed.

## Example
An example of implementation can be found [in eZ Publish 5 source code](https://github.com/ezsystems/ezp-next/blob/master/eZ/Publish/Core/MVC/Symfony/Cache/Http/LocationAwareStore.php). In this example, eZ Publish content cache entities are stored under a different folder than regular cache entities in order to ease cache purge based on a content location.

## Testing
No unit tests were added since the behavior didn't change and the new method is protected.

PS : It would be nice to have this in 2.1 branch as well :smiley:
fixed docblock return type
merged branch eriksencosta/patch-2 (PR #6032)

This PR was merged into the 2.1 branch.

Commits
-------

0b088ec fixed docblock return type

Discussion
----------

fixed docblock return type
Renamed variable for consistency
tiny refactoring for consistency
[DI] removed unneeded is_object() calls
[Routing] fix Route recompilation when hostname changed
merged branch Tobion/patch-4 (PR #6058)

This PR was merged into the master branch.

Commits
-------

acf8a70 [Routing] fix Route recompilation when hostname changed

Discussion
----------

[Routing] fix Route recompilation when hostname changed
merged branch Tobion/is_object_instance_of (PR #6051)

This PR was merged into the master branch.

Commits
-------

966e7d6 [DI] removed unneeded is_object() calls

Discussion
----------

[DI] removed unneeded is_object() calls

I searched through all of symfony for occurences of the coding style `(is_object($value) && $value instanceof Object)` with a regex like `is_object\(\$[a-zA-z0-9]+\) && \$[a-zA-z0-9]+ instanceof `.
The `is_object` calls are not needed in this case. Only the DI component made such duplicate checks.
merged branch Tobion/patch-2 (PR #6048)

This PR was merged into the 2.1 branch.

Commits
-------

ea2bb09 tiny refactoring for consistency

Discussion
----------

tiny refactoring for consistency

no need to use the iterator within the class. not done anywhere else.
merged branch DenisGorbachev/patch-1 (PR #6046)

This PR was merged into the master branch.

Commits
-------

acbb393 Renamed variable for consistency

Discussion
----------

[SecurityBundle] Renamed variable for consistency

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -
removed unused variable
[Routing] made it compatible with older PCRE version (pre 8)
merged branch Tobion/patch-5 (PR #6061)

This PR was merged into the master branch.

Commits
-------

1b41ed0 removed unused variable

Discussion
----------

removed unused variable
merged branch Tobion/routing-centos (PR #6062)

This PR was merged into the 2.1 branch.

Commits
-------

1daefa5 [Routing] made it compatible with older PCRE version (pre 8)

Discussion
----------

[Routing] compatibility with older PCRE version (pre 8)

fixes #4093

Ok I changed my mind about this issue.
1. I figured more people are affected than I thought and CentOS is stubborn.
2. Symfony still uses the old regex style `?P<param>` in several other components. So also doing so in the routing makes it more consistent.
3. Even if it's definitely not good to use an over 6 year old PCRE version with a recent PHP version, we can still try to provide the best experience. It doesn't mean we support outdated software stacks of custom PHP compilations as we won't and cannot specifically test against it.

@fabpot: I will do a seperate PR on master when you merged this because the code changed alot in master so it cannot easily be merged I guess. I will also convert the symfony requirement for PCRE in the requirements check to a recommendation.
[Routing] compatibility with older PCRE (pre 8)
Merge branch '2.1'

* 2.1:
  [Routing] made it compatible with older PCRE version (pre 8)
  tiny refactoring for consistency
  fixed docblock return type
  Added HttpCache\Store::generateContentDigest() + changed visibility

Conflicts:
	src/Symfony/Component/Routing/Matcher/Dumper/ApacheMatcherDumper.php
	src/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php
	src/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.php
	src/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.php
	src/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher3.php
	src/Symfony/Component/Routing/Tests/RouteCompilerTest.php
merged branch Tobion/routing-pcre (PR #6064)

This PR was merged into the master branch.

Commits
-------

824a0f3 [Routing] compatibility with older PCRE (pre 8)

Discussion
----------

[Routing] compatibility with older PCRE (pre 8)

#6062 for master
fixed typo