51 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * @package         Conditions
 | |
|  * @version         24.11.1459
 | |
|  * 
 | |
|  * @author          Peter van Westen <info@regularlabs.com>
 | |
|  * @link            https://regularlabs.com
 | |
|  * @copyright       Copyright © 2024 Regular Labs All Rights Reserved
 | |
|  * @license         GNU General Public License version 2 or later
 | |
|  */
 | |
| 
 | |
| defined('_JEXEC') or die;
 | |
| 
 | |
| use Joomla\CMS\Dispatcher\ComponentDispatcherFactoryInterface;
 | |
| use Joomla\CMS\Extension\ComponentInterface;
 | |
| use Joomla\CMS\Extension\Service\Provider\ComponentDispatcherFactory;
 | |
| use Joomla\CMS\Extension\Service\Provider\MVCFactory;
 | |
| use Joomla\CMS\Extension\Service\Provider\RouterFactory;
 | |
| use Joomla\CMS\HTML\Registry;
 | |
| use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
 | |
| use Joomla\DI\Container;
 | |
| use Joomla\DI\ServiceProviderInterface;
 | |
| use RegularLabs\Component\Conditions\Administrator\Extension\Component;
 | |
| 
 | |
| return new class implements ServiceProviderInterface {
 | |
|     /**
 | |
|      * Registers the service provider with a DI container.
 | |
|      *
 | |
|      * @param Container $container The DI container.
 | |
|      *
 | |
|      * @return  void
 | |
|      */
 | |
|     public function register(Container $container)
 | |
|     {
 | |
|         $container->registerServiceProvider(new MVCFactory('\\RegularLabs\\Component\\Conditions'));
 | |
|         $container->registerServiceProvider(new ComponentDispatcherFactory('\\RegularLabs\\Component\\Conditions'));
 | |
|         $container->registerServiceProvider(new RouterFactory('\\RegularLabs\\Component\\Conditions'));
 | |
| 
 | |
|         $container->set(
 | |
|             ComponentInterface::class,
 | |
|             function (Container $container) {
 | |
|                 $component = new Component($container->get(ComponentDispatcherFactoryInterface::class));
 | |
|                 $component->setMVCFactory($container->get(MVCFactoryInterface::class));
 | |
|                 $component->setRegistry($container->get(Registry::class));
 | |
| 
 | |
|                 return $component;
 | |
|             }
 | |
|         );
 | |
|     }
 | |
| };
 |