Widi/service-locator

服务定位器组件。

3.0.2 2017-07-27 22:06 UTC

This package is auto-updated.

Last update: 2024-09-11 01:34:19 UTC


README

服务定位器组件将帮助您封装您的类。

用法

您可以直接创建服务定位器的一个实例,或者创建一个包装器来作为单例使用。

代码示例

<?php
require_once __DIR__ . '/../vendor/autoload.php';

use Widi\Components\ServiceLocator\ServiceLocator;

$services = [
    InvokableService::class => [
        'instance' => InvokableService::class,
    ],
    AnotherInvokableService::class => [
        'instance' => InvokableService::class,
        'options' => [
            'factory'   => false,
            'shared'    => false,
            'parameter' => [],
        ],
    ],
    FactoryService::class   => [
        'instance' => ServiceFactory::class,
        'options' => [
            'factory'   => true,
            'parameter' => [],
        ],
    ],
];

$serviceLocator = new ServiceLocator();
$serviceLocator->setArray($services);

文件

测试 Test/bootstrap.php Test/phpunit.xml Test/ServiceLocator Test/ServiceLocator/Factory.php Test/ServiceLocator/FactoryParameter.php Test/ServiceLocator/Service.php Test/ServiceLocator/ServiceLocatorTest.php composer.json composer.lock readme.md sample sample/sample.php src src/Exception src/Exception/CreateServiceException.php src/Exception/ServiceArrayBadFormatException.php src/Exception/ServiceFactoryIsNotCallableException.php src/Exception/ServiceKeyAlreadyInUseException.php src/Exception/ServiceLocatorException.php src/Exception/ServiceNotFoundException.php src/Exception/WrongParameterException.php src/ServiceLocator.php src/ServiceLocatorInterface.php