Widi / service-locator
服务定位器组件。
3.0.2
2017-07-27 22:06 UTC
Requires
- php: ^5.6 || ^7.0
- psr/container: ^1.0
Requires (Dev)
- phpunit/phpunit: 5.5.5
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