[2.3] Remove possible call_user_func()
minor #12529 [2.3] Remove possible call_user_func() (nicolas-grekas)

This PR was merged into the 2.3 branch.

Discussion
----------

[2.3] Remove possible call_user_func()

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

Merging this in 2.3 enhances performance a bit, but more importantly will ease future merges into 3.0.

Commits
-------

fad7aba [2.3] Remove possible call_user_func()
Merge branch '2.3' into 2.5

* 2.3:
  Revert "[DependencyInjection] backport perf optim"
  [WebProfilerBundle] replaced pattern to path attribute in routes definitions.
  [FrameworkBundle][Template name] avoid  error message for the shortcut notation.
  [DependencyInjection] perf optim: call dirname() at most 5x
  [DependencyInjection] backport perf optim
  [2.3] Remove possible call_user_func()

Conflicts:
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services10.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services11.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_compiled.php
[SecurityBundle] Firewall providers building - code cleaning
Show the inherited roles in the web profiler
Merge branch '2.3' into 2.5

* 2.3:
  [SecurityBundle] Firewall providers building - code cleaning
  [Filesystem] symlink use RealPath instead LinkTarget
  Fixed the AuthenticationProviderInterface alignment
  Fixed the proxy-manager version constraint

Conflicts:
	composer.json
	src/Symfony/Bridge/ProxyManager/composer.json
Merge branch '2.5' into 2.6

* 2.5:
  [Form] fixed a maxlength overring on a guessing
  [Debug] Show only unique class candidates
  [SecurityBundle] Firewall providers building - code cleaning
  [Filesystem] symlink use RealPath instead LinkTarget
  [DependencyInjection] Remove duplicate  declaration in PhpDumper
  terminals are not interactive on Travis
  Revert "[DependencyInjection] backport perf optim"
  [WebProfilerBundle] replaced pattern to path attribute in routes definitions.
  fix phpdoc's alignment
  Fixed the AuthenticationProviderInterface alignment
  Fixed the proxy-manager version constraint
  [FrameworkBundle][Template name] avoid  error message for the shortcut notation.
  [DependencyInjection] perf optim: call dirname() at most 5x
  [DependencyInjection] backport perf optim
  Fixed #12845 adding a listener to an event that is currently being dispatched will not result into a fatal error in TraceableEventDispatcher [EventDispatcher]
  [2.5] Remove possible call_user_func()
  [2.3] Remove possible call_user_func()

Conflicts:
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1-1.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services11.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services12.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services8.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9.php
Merge branch '2.6' into 2.7

* 2.6: (24 commits)
  [Form] fixed a maxlength overring on a guessing
  [Debug] Show only unique class candidates
  [SecurityBundle] Firewall providers building - code cleaning
  [Filesystem] symlink use RealPath instead LinkTarget
  [DependencyInjection] Remove duplicate  declaration in PhpDumper
  terminals are not interactive on Travis
  Revert "[DependencyInjection] backport perf optim"
  [WebProfiler] Tweaked ajax requests toolbar css reset
  [WebProfilerBundle] replaced pattern to path attribute in routes definitions.
  fix phpdoc's alignment
  Fix missing addExpressionLanguageProvider (used by service container to add expression providers)
  Fixed the AuthenticationProviderInterface alignment
  Fixed the proxy-manager version constraint
  Fix missing space in label_attr
  fix DumpDataCollectorTest after CS changes
  avoid risky tests
  Fixed typo in SecurityContext PHPDoc
  [FrameworkBundle][Template name] avoid  error message for the shortcut notation.
  [DependencyInjection] perf optim: call dirname() at most 5x
  [DependencyInjection] backport perf optim
  ...
feature #12896 [DX][Profiler] Show the inherited roles in the web profiler (peterrehm)

This PR was merged into the 2.7 branch.

Discussion
----------

[DX][Profiler] Show the inherited roles in the web profiler

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

Given the following role hierarchy configuration

````php
security:
    role_hierarchy:
        ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
        ROLE_ADMIN:       [ROLE_EMPLOYEE]
        ROLE_EMPLOYEE:    [ROLE_SALES]
````

If you were checking the user roles in the web profiler as an user with the assigned
role `ROLE_ADMIN` you saw only the following output.

![bildschirmfoto 2014-12-08 um 12 31 25](https://cloud.githubusercontent.com/assets/2010989/5338601/26fd4c90-7ed6-11e4-961b-12103ddddf50.png)

This was kind of tricky since pages where you were checking `is_granted('ROLE_EMPLOYEE')`
granted access. Debugging was hard for newcomers to the project if they did not understand
the role hierarchy.

With this adjustment you will see the assigned roles as well as the inherited roles separately as
follows:

![bildschirmfoto 2014-12-08 um 12 23 59](https://cloud.githubusercontent.com/assets/2010989/5338622/5b0ffc58-7ed6-11e4-9863-27c9105897df.png)

Commits
-------

31dc672 Show the inherited roles in the web profiler