gobline / registrar
注册器组件
v1.0.2
2015-12-07 16:25 UTC
Requires
- php: >=5.6.0
- gobline/container: ^2.0
This package is auto-updated.
Last update: 2024-09-12 19:12:11 UTC
README
注册器组件接收一个 Gobline 容器,并允许您向其中添加由一个或多个配置文件定义的服务。它根据当前环境(开发、生产等)加载正确的配置文件。
$container = new Gobline\Container(); $registrar = new Gobline\Registrar\Registrar($container, 'dev'); $registrar->register(getcwd().'/config/services.php');
在上面的代码中,我们将环境设置为 "dev",注册器将尝试将以下文件中定义的服务添加到容器中
- services.php(如果存在)
- services.dev.php(如果存在)
配置文件中列出的服务定义在一个 PHP 数组中,其结构遵循一定的约定。下面是一个配置文件的示例
return [ Pdo::class => [ 'construct' => [ 'arguments' => ['sqlite:db.sqlite'], ], ], Swift_SmtpTransport::class => [ 'alias' => Swift_Transport::class, 'construct' => [ 'arguments' => ['smtp.gmail.com', 465, 'ssl'], ], 'configure' => [ 'data' => [ 'username' => 'mdecaffmeyer@gmail.com', 'password' => '***', ], ], ], Gobline\Auth\Authenticator\Db\DbAuthenticator::class => [ 'alias' => Gobline\Auth\Authenticator\AuthenticatorInterface::class, ], Gobline\Auth\CurrentUser::class => [ 'alias' => Gobline\Auth\CurrentUserInterface::class, 'configure' => [ 'configurator' => Gobline\Auth\Provider\Gobline\CurrentUserConfigurator::class, 'data' => [ 'persistence' => 'session', 'roleUnauthenticated' => 'unauthenticated', ], ], ], Doctrine\ORM\EntityManager::class => [ 'construct' => [ 'factory' => App\Provider\EntityManagerFactory::class, ], ], ];