From 13253873fa5971f1635e19bc54bee382666d071e Mon Sep 17 00:00:00 2001 From: David Molineus Date: Wed, 5 Oct 2016 08:52:46 +0200 Subject: [PATCH] Drop the service container class. --- module/config/config.php | 48 ++++++++++----- module/config/services.php | 6 -- .../DependencyInjection/LeafletServices.php | 28 +++++++++ .../Contao/Leaflet/ServiceContainer.php | 61 ------------------- .../Leaflet/Subscriber/BootSubscriber.php | 2 +- 5 files changed, 61 insertions(+), 84 deletions(-) create mode 100644 src/Netzmacht/Contao/Leaflet/DependencyInjection/LeafletServices.php delete mode 100644 src/Netzmacht/Contao/Leaflet/ServiceContainer.php diff --git a/module/config/config.php b/module/config/config.php index 1d3a8ee..6fd26d2 100644 --- a/module/config/config.php +++ b/module/config/config.php @@ -104,26 +104,40 @@ $GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Control\Loading $GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Control\FullscreenControlMapper'; // Vector mappers. -$GLOBALS['LEAFLET_MAPPERS'][] = function (\Netzmacht\Contao\Leaflet\ServiceContainer $container) { - return new Netzmacht\Contao\Leaflet\Mapper\Vector\PolylineMapper($container->getFrontendValueFilter()); +$GLOBALS['LEAFLET_MAPPERS'][] = function (\Interop\Container\ContainerInterface $container) { + return new Netzmacht\Contao\Leaflet\Mapper\Vector\PolylineMapper( + $container->get(\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::FRONTEND_VALUE_FILTER) + ); }; -$GLOBALS['LEAFLET_MAPPERS'][] = function (\Netzmacht\Contao\Leaflet\ServiceContainer $container) { - return new Netzmacht\Contao\Leaflet\Mapper\Vector\MultiPolylineMapper($container->getFrontendValueFilter()); +$GLOBALS['LEAFLET_MAPPERS'][] = function (\Interop\Container\ContainerInterface $container) { + return new Netzmacht\Contao\Leaflet\Mapper\Vector\MultiPolylineMapper( + $container->get(\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::FRONTEND_VALUE_FILTER) + ); }; -$GLOBALS['LEAFLET_MAPPERS'][] = function (\Netzmacht\Contao\Leaflet\ServiceContainer $container) { - return new Netzmacht\Contao\Leaflet\Mapper\Vector\PolygonMapper($container->getFrontendValueFilter()); +$GLOBALS['LEAFLET_MAPPERS'][] = function (\Interop\Container\ContainerInterface $container) { + return new Netzmacht\Contao\Leaflet\Mapper\Vector\PolygonMapper( + $container->get(\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::FRONTEND_VALUE_FILTER) + ); }; -$GLOBALS['LEAFLET_MAPPERS'][] = function (\Netzmacht\Contao\Leaflet\ServiceContainer $container) { - return new Netzmacht\Contao\Leaflet\Mapper\Vector\MultiPolygonMapper($container->getFrontendValueFilter()); +$GLOBALS['LEAFLET_MAPPERS'][] = function (\Interop\Container\ContainerInterface $container) { + return new Netzmacht\Contao\Leaflet\Mapper\Vector\MultiPolygonMapper( + $container->get(\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::FRONTEND_VALUE_FILTER) + ); }; -$GLOBALS['LEAFLET_MAPPERS'][] = function (\Netzmacht\Contao\Leaflet\ServiceContainer $container) { - return new Netzmacht\Contao\Leaflet\Mapper\Vector\CircleMapper($container->getFrontendValueFilter()); +$GLOBALS['LEAFLET_MAPPERS'][] = function (\Interop\Container\ContainerInterface $container) { + return new Netzmacht\Contao\Leaflet\Mapper\Vector\CircleMapper( + $container->get(\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::FRONTEND_VALUE_FILTER) + ); }; -$GLOBALS['LEAFLET_MAPPERS'][] = function (\Netzmacht\Contao\Leaflet\ServiceContainer $container) { - return new Netzmacht\Contao\Leaflet\Mapper\Vector\CircleMarkerMapper($container->getFrontendValueFilter()); +$GLOBALS['LEAFLET_MAPPERS'][] = function (\Interop\Container\ContainerInterface $container) { + return new Netzmacht\Contao\Leaflet\Mapper\Vector\CircleMarkerMapper( + $container->get(\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::FRONTEND_VALUE_FILTER) + ); }; -$GLOBALS['LEAFLET_MAPPERS'][] = function (\Netzmacht\Contao\Leaflet\ServiceContainer $container) { - return new Netzmacht\Contao\Leaflet\Mapper\Vector\RectangleMapper($container->getFrontendValueFilter()); +$GLOBALS['LEAFLET_MAPPERS'][] = function (\Interop\Container\ContainerInterface $container) { + return new Netzmacht\Contao\Leaflet\Mapper\Vector\RectangleMapper( + $container->get(\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::FRONTEND_VALUE_FILTER) + ); }; // Miscellaneous mappers. @@ -131,8 +145,10 @@ $GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\UI\PopupMapper' $GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Type\ImageIconMapper'; $GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Type\DivIconMapper'; $GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Style\FixedStyleMapper'; -$GLOBALS['LEAFLET_MAPPERS'][] = function (\Netzmacht\Contao\Leaflet\ServiceContainer $container) { - return new \Netzmacht\Contao\Leaflet\Mapper\UI\MarkerMapper($container->getFrontendValueFilter()); +$GLOBALS['LEAFLET_MAPPERS'][] = function (\Interop\Container\ContainerInterface $container) { + return new \Netzmacht\Contao\Leaflet\Mapper\UI\MarkerMapper( + $container->get(\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::FRONTEND_VALUE_FILTER) + ); }; /* diff --git a/module/config/services.php b/module/config/services.php index 95de655..3d8d23f 100644 --- a/module/config/services.php +++ b/module/config/services.php @@ -18,7 +18,6 @@ use Netzmacht\Contao\Leaflet\Frontend\MapModule; use Netzmacht\Contao\Leaflet\Frontend\ValueFilter; use Netzmacht\Contao\Leaflet\Mapper\DefinitionMapper; use Netzmacht\Contao\Leaflet\MapService; -use Netzmacht\Contao\Leaflet\ServiceContainer; use Netzmacht\Contao\Toolkit\Data\Alias\Filter\ExistingAliasFilter; use Netzmacht\Contao\Toolkit\Data\Alias\Filter\SlugifyFilter; use Netzmacht\Contao\Toolkit\Data\Alias\Filter\SuffixFilter; @@ -125,11 +124,6 @@ $container['leaflet.frontend.value-filter'] = $container->share(function($contai return new ValueFilter($container[Services::INSERT_TAG_REPLACER]); }); -$container['leaflet.service-container'] = $container->share(function($container) { - return new ServiceContainer($container); -}); - - /** * Leaflet alias generator. * diff --git a/src/Netzmacht/Contao/Leaflet/DependencyInjection/LeafletServices.php b/src/Netzmacht/Contao/Leaflet/DependencyInjection/LeafletServices.php new file mode 100644 index 0000000..66e4cfe --- /dev/null +++ b/src/Netzmacht/Contao/Leaflet/DependencyInjection/LeafletServices.php @@ -0,0 +1,28 @@ + + * @copyright 2016 netzmacht David Molineus. All rights reserved. + * @filesource + * + */ + +namespace Netzmacht\Contao\Leaflet\DependencyInjection; + +use Netzmacht\Contao\Leaflet\Frontend\ValueFilter; + +/** + * Class LeafletServices describes services provided by the leaflet package. + * + * @package Netzmacht\Contao\Leaflet\DependencyInjection + */ +class LeafletServices +{ + /** + * Service name of the frontend value filter. + * + * @return ValueFilter + */ + const FRONTEND_VALUE_FILTER = 'leaflet.frontend.value-filter'; +} diff --git a/src/Netzmacht/Contao/Leaflet/ServiceContainer.php b/src/Netzmacht/Contao/Leaflet/ServiceContainer.php deleted file mode 100644 index 4396991..0000000 --- a/src/Netzmacht/Contao/Leaflet/ServiceContainer.php +++ /dev/null @@ -1,61 +0,0 @@ - - * @copyright 2015 netzmacht creative David Molineus - * @license LGPL 3.0 - * @filesource - * - */ - -namespace Netzmacht\Contao\Leaflet; - -use Netzmacht\Contao\Leaflet\Frontend\ValueFilter; - -/** - * Class ServiceContainer provides the services which are available for Contao leaflet. - * - * @package Netzmacht\Contao\Leaflet - */ -class ServiceContainer -{ - /** - * The global service container. - * - * @var \Pimple - */ - private $container; - - /** - * Construct. - * - * @param \Pimple $container The global service container. - */ - public function __construct(\Pimple $container) - { - $this->container = $container; - } - - /** - * Get the value filter service. - * - * @return ValueFilter - */ - public function getFrontendValueFilter() - { - return $this->getService('leaflet.frontend.value-filter'); - } - - /** - * Get a service from the container. - * - * @param string $name The service name. - * - * @return mixed - */ - public function getService($name) - { - return $this->container[$name]; - } -} diff --git a/src/Netzmacht/Contao/Leaflet/Subscriber/BootSubscriber.php b/src/Netzmacht/Contao/Leaflet/Subscriber/BootSubscriber.php index baed3c1..5809db0 100644 --- a/src/Netzmacht/Contao/Leaflet/Subscriber/BootSubscriber.php +++ b/src/Netzmacht/Contao/Leaflet/Subscriber/BootSubscriber.php @@ -209,7 +209,7 @@ class BootSubscriber implements EventSubscriberInterface private function createMapper($mapper) { if (is_callable($mapper)) { - $container = $GLOBALS['container']['leaflet.service-container']; + $container = $GLOBALS['container'][Services::CONTAINER]; return $mapper($container); }