bug #28688 [FWBundle] Throw if PropertyInfo is enabled, but the component isn't installed (dunglas)
This PR was merged into the 3.4 branch.
Discussion
----------
[FWBundle] Throw if PropertyInfo is enabled, but the component isn't installed
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks? | no <!-- see https://symfony.com/bc -->
| Deprecations? |no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass? | yes <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
- Bug fixes must be submitted against the lowest branch where they apply
(lowest branches are regularly merged to upper ones so they get the fixes too).
- Features and deprecations must be submitted against the master branch.
-->
Commits
-------
41fd0a881e
[FWBundle] Throw if PropertyInfo is enabled, but the component isn't installed
This commit is contained in:
commit
728ab53d86
@ -61,6 +61,7 @@ use Symfony\Component\Lock\StoreInterface;
|
|||||||
use Symfony\Component\PropertyAccess\PropertyAccessor;
|
use Symfony\Component\PropertyAccess\PropertyAccessor;
|
||||||
use Symfony\Component\PropertyInfo\PropertyAccessExtractorInterface;
|
use Symfony\Component\PropertyInfo\PropertyAccessExtractorInterface;
|
||||||
use Symfony\Component\PropertyInfo\PropertyDescriptionExtractorInterface;
|
use Symfony\Component\PropertyInfo\PropertyDescriptionExtractorInterface;
|
||||||
|
use Symfony\Component\PropertyInfo\PropertyInfoExtractorInterface;
|
||||||
use Symfony\Component\PropertyInfo\PropertyListExtractorInterface;
|
use Symfony\Component\PropertyInfo\PropertyListExtractorInterface;
|
||||||
use Symfony\Component\PropertyInfo\PropertyTypeExtractorInterface;
|
use Symfony\Component\PropertyInfo\PropertyTypeExtractorInterface;
|
||||||
use Symfony\Component\Routing\Loader\AnnotationDirectoryLoader;
|
use Symfony\Component\Routing\Loader\AnnotationDirectoryLoader;
|
||||||
@ -296,7 +297,7 @@ class FrameworkExtension extends Extension
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($this->isConfigEnabled($container, $config['property_info'])) {
|
if ($this->isConfigEnabled($container, $config['property_info'])) {
|
||||||
$this->registerPropertyInfoConfiguration($config['property_info'], $container, $loader);
|
$this->registerPropertyInfoConfiguration($container, $loader);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->isConfigEnabled($container, $config['lock'])) {
|
if ($this->isConfigEnabled($container, $config['lock'])) {
|
||||||
@ -1545,8 +1546,12 @@ class FrameworkExtension extends Extension
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function registerPropertyInfoConfiguration(array $config, ContainerBuilder $container, XmlFileLoader $loader)
|
private function registerPropertyInfoConfiguration(ContainerBuilder $container, XmlFileLoader $loader)
|
||||||
{
|
{
|
||||||
|
if (!interface_exists(PropertyInfoExtractorInterface::class)) {
|
||||||
|
throw new LogicException('PropertyInfo support cannot be enabled as the PropertyInfo component is not installed. Try running "composer require symfony/property-info".');
|
||||||
|
}
|
||||||
|
|
||||||
$loader->load('property_info.xml');
|
$loader->load('property_info.xml');
|
||||||
|
|
||||||
$container->getDefinition('property_info')->setPrivate(true);
|
$container->getDefinition('property_info')->setPrivate(true);
|
||||||
|
Reference in New Issue
Block a user