marcojanssen / silex-service-register-provider
该软件包已被废弃,不再维护。没有建议的替代软件包。
Silex 用于注册其他提供者的工具
1.1.0
2013-09-27 12:33 UTC
Requires
- silex/silex: 1.*
Suggests
- igorw/config-service-provider: Allows registering providers with configuration
This package is not auto-updated.
Last update: 2022-02-01 12:27:27 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 等。