fix compatibility with older Cache versions
FrameworkBundle 4.2 will be compatible with older versions of the Cache component. In those versions adapters don't implement `ResetInterface`. For backwards compatibility they still need to be tagged.
This commit is contained in:
parent
eb112a5288
commit
ec795cca78
@ -25,6 +25,8 @@ use Symfony\Component\Cache\Adapter\AdapterInterface;
|
|||||||
use Symfony\Component\Cache\Adapter\ArrayAdapter;
|
use Symfony\Component\Cache\Adapter\ArrayAdapter;
|
||||||
use Symfony\Component\Cache\Adapter\TagAwareAdapter;
|
use Symfony\Component\Cache\Adapter\TagAwareAdapter;
|
||||||
use Symfony\Component\Cache\Marshaller\DefaultMarshaller;
|
use Symfony\Component\Cache\Marshaller\DefaultMarshaller;
|
||||||
|
use Symfony\Component\Cache\Marshaller\MarshallerInterface;
|
||||||
|
use Symfony\Component\Cache\ResettableInterface;
|
||||||
use Symfony\Component\Config\FileLocator;
|
use Symfony\Component\Config\FileLocator;
|
||||||
use Symfony\Component\Config\Loader\LoaderInterface;
|
use Symfony\Component\Config\Loader\LoaderInterface;
|
||||||
use Symfony\Component\Config\Resource\DirectoryResource;
|
use Symfony\Component\Config\Resource\DirectoryResource;
|
||||||
@ -326,6 +328,12 @@ class FrameworkExtension extends Extension
|
|||||||
->addTag('kernel.event_subscriber');
|
->addTag('kernel.event_subscriber');
|
||||||
$container->registerForAutoconfiguration(ResetInterface::class)
|
$container->registerForAutoconfiguration(ResetInterface::class)
|
||||||
->addTag('kernel.reset', array('method' => 'reset'));
|
->addTag('kernel.reset', array('method' => 'reset'));
|
||||||
|
|
||||||
|
if (!interface_exists(MarshallerInterface::class)) {
|
||||||
|
$container->registerForAutoconfiguration(ResettableInterface::class)
|
||||||
|
->addTag('kernel.reset', array('method' => 'reset'));
|
||||||
|
}
|
||||||
|
|
||||||
$container->registerForAutoconfiguration(ProcessorInterface::class)
|
$container->registerForAutoconfiguration(ProcessorInterface::class)
|
||||||
->addTag('monolog.processor');
|
->addTag('monolog.processor');
|
||||||
$container->registerForAutoconfiguration(PropertyListExtractorInterface::class)
|
$container->registerForAutoconfiguration(PropertyListExtractorInterface::class)
|
||||||
|
@ -4,4 +4,4 @@ CHANGELOG
|
|||||||
1.0.0
|
1.0.0
|
||||||
-----
|
-----
|
||||||
|
|
||||||
* added `Service\ResetInterface` to provides a way to reset an object to its initial state
|
* added `Service\ResetInterface` to provide a way to reset an object to its initial state
|
||||||
|
@ -22,7 +22,7 @@ FAQ
|
|||||||
|
|
||||||
The abstractions in this package are useful to achieve loose coupling and
|
The abstractions in this package are useful to achieve loose coupling and
|
||||||
interoperability. By using the provided interfaces as type hints, you are able
|
interoperability. By using the provided interfaces as type hints, you are able
|
||||||
to reuse any implementations that match their contracts. It could be a Symfony
|
to reuse any implementation that matches their contracts. It could be a Symfony
|
||||||
component, or another one provided by the PHP community at large.
|
component, or another one provided by the PHP community at large.
|
||||||
|
|
||||||
Depending on their semantics, some interfaces can be combined with autowiring to
|
Depending on their semantics, some interfaces can be combined with autowiring to
|
||||||
@ -34,12 +34,12 @@ any other means provided by your framework.)
|
|||||||
|
|
||||||
### How is this different from PHP-FIG's PSRs?
|
### How is this different from PHP-FIG's PSRs?
|
||||||
|
|
||||||
When applicable, the provided contracts are built on top of PHP-FIG's PSR. We
|
When applicable, the provided contracts are built on top of PHP-FIG's PSRs. We
|
||||||
encourage relying on them and won't duplicate the effort. Still, the FIG has
|
encourage relying on them and won't duplicate the effort. Still, the FIG has
|
||||||
different goals and different processes. Here, we don't need to seek universal
|
different goals and different processes. Here, we don't need to seek universal
|
||||||
standards. Instead, we're providing abstractions that are compatible with the
|
standards. Instead, we're providing abstractions that are compatible with the
|
||||||
implementations provided by Symfony. This should actually also contribute
|
implementations provided by Symfony. This should actually also contribute
|
||||||
positively to the PHP-FIG (from which Symfony is a member), by hinting the group
|
positively to the PHP-FIG (of which Symfony is a member), by hinting the group
|
||||||
at some abstractions the PHP world might like to take inspiration from.
|
at some abstractions the PHP world might like to take inspiration from.
|
||||||
|
|
||||||
### Why isn't this package split into several packages?
|
### Why isn't this package split into several packages?
|
||||||
|
Reference in New Issue
Block a user