drinky78 / silex-service-register-provider
Silex 提供其他提供者的注册服务
1.1.1
2014-10-13 22:06 UTC
Requires
- silex/silex: 1.*
Suggests
- igorw/config-service-provider: Allows registering providers with configuration
This package is not auto-updated.
Last update: 2024-09-24 07:17:04 UTC
README
ServiceRegisterProvider 是一个用于注册其他提供者的服务提供者。
特性
- 通过配置注册提供者
- 使用提供者注册多个提供者
- 使用提供者注册单个提供者
安装
-
安装 Composer
-
将
marcojanssen/silex-service-register-provider
添加到您的composer.json
{ "require": { "marcojanssen/silex-service-register-provider": "1.1.*" } }
- 安装/更新依赖
使用方法
注册单个提供者
index.php
use Silex\Application; use MJanssen\Provider\ServiceRegisterProvider; $app = new Application(); $provider = array( 'class' => 'MJanssen\Provider\ServiceProviderFoo', 'values' => array( 'foo' => 'baz' ) ); $serviceRegisterProvider = new ServiceRegisterProvider(); $serviceRegisterProvider->registerServiceProvider($app, $provider);
注册多个提供者
index.php
use Silex\Application; use MJanssen\Provider\ServiceRegisterProvider; $app = new Application(); $serviceRegisterProvider = new ServiceRegisterProvider(); $providers = array( array( 'class' => 'MJanssen\Provider\ServiceProviderFoo' ), array( 'class' => 'MJanssen\Provider\ServiceProviderBaz' ) ); $serviceRegisterProvider->registerServiceProviders($app, $providers);
使用配置注册提供者
在此示例中,使用了ConfigServiceProvider来读取 yml 文件。ServiceRegisterProvider 默认通过 $app['config.providers']
中的 config.providers
节点选择存储的配置。如果您想设置不同的键,请在实例化 ServiceRegisterProvider 时将其作为参数添加。
services.yml
custom.providers.key: validator: class: Silex\Provider\ValidatorServiceProvider controller.service: class: Silex\Provider\ServiceControllerServiceProvider
index.php
use Silex\Application; use Igorw\Silex\ConfigServiceProvider; use MJanssen\Provider\ServiceRegisterProvider; //Set all service providers $app->register( new ConfigServiceProvider(__DIR__."/../app/config/services.yml") ); //Register all providers $app->register( new ServiceRegisterProvider('custom.providers.key') );
注意:建议使用 php 文件而不是 yml/xml 等。