bug #22774 [FrameworkBundle] add forward compatibility layer for FrameworkBundle (hhamon)

This PR was merged into the 3.4 branch.

Discussion
----------

[FrameworkBundle] add forward compatibility layer for FrameworkBundle

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

Commits
-------

9f14d06 [FrameworkBundle] add forward compatibility layer when using FrameworkBundle in version 3.4 with DependencyInjection component in version 4.0
This commit is contained in:
Nicolas Grekas 2017-05-21 11:23:49 +02:00
commit 74faead115
3 changed files with 12 additions and 5 deletions

View File

@ -231,8 +231,11 @@ class JsonDescriptor extends Descriptor
'autoconfigure' => $definition->isAutoconfigured(),
);
foreach ($definition->getAutowiringTypes(false) as $autowiringType) {
$data['autowiring_types'][] = $autowiringType;
// forward compatibility with DependencyInjection component in version 4.0
if (method_exists($definition, 'getAutowiringTypes')) {
foreach ($definition->getAutowiringTypes(false) as $autowiringType) {
$data['autowiring_types'][] = $autowiringType;
}
}
if ($showArguments) {

View File

@ -191,8 +191,11 @@ class MarkdownDescriptor extends Descriptor
."\n".'- Autoconfigured: '.($definition->isAutoconfigured() ? 'yes' : 'no')
;
foreach ($definition->getAutowiringTypes(false) as $autowiringType) {
$output .= "\n".'- Autowiring Type: `'.$autowiringType.'`';
// forward compatibility with DependencyInjection component in version 4.0
if (method_exists($definition, 'getAutowiringTypes')) {
foreach ($definition->getAutowiringTypes(false) as $autowiringType) {
$output .= "\n".'- Autowiring Type: `'.$autowiringType.'`';
}
}
if (isset($options['show_arguments']) && $options['show_arguments']) {

View File

@ -309,7 +309,8 @@ class TextDescriptor extends Descriptor
$tableRows[] = array('Autowired', $definition->isAutowired() ? 'yes' : 'no');
$tableRows[] = array('Autoconfigured', $definition->isAutoconfigured() ? 'yes' : 'no');
if ($autowiringTypes = $definition->getAutowiringTypes(false)) {
// forward compatibility with DependencyInjection component in version 4.0
if (method_exists($definition, 'getAutowiringTypes') && $autowiringTypes = $definition->getAutowiringTypes(false)) {
$tableRows[] = array('Autowiring Types', implode(', ', $autowiringTypes));
}