bernard / silex
Silex 服务提供商为 Bernard
0.5.0
2014-02-04 14:54 UTC
Requires
- php: >=5.3.3
- bernard/bernard: >=0.12,<0.13
Requires (Dev)
- silex/silex: ~1.0
This package is not auto-updated.
Last update: 2024-09-09 14:03:46 UTC
README
入门
将需求添加到您的 composer.json
文件,并与您的应用程序注册。
{ "require" : { "bernard/silex" : "~0.4@dev" } }
<?php $app = new Silex\Application; $app->register(new Bernard\Silex\BernardServiceProvider, array( 'bernard.options' => array( 'driver' => 'doctrine', // or redis, predis, sqs, iron_mq 'serializer' => 'symfony', // or jms or simple ), ));
之后,您必须决定要使用哪种驱动程序和哪种序列化程序。
以下序列化程序受到支持
- 简单。没有依赖关系,它是默认选项。
- JMS 序列化器。需要具有 id
jms_serializer
的服务,并且存在jms_serializer.builder
。 - Symfony 序列化器。需要在注册此提供程序之前注册
SerializerServiceProvider
。
以下驱动程序受到支持
- Doctrine DBAL 需要
DoctrineServiceProvider
,其中尝试使用bernard
连接。 - Predis 需要 https://github.com/nrk/PredisServiceProvider 和一个
predis
服务。如果您使用多服务提供程序,则应重写bernard.predis_driver
并自定义服务。 - Redis 扩展。需要安装 http://pecl.php.net/package/redis 并有一个
redis
服务。 - Amazon SQS 需要 AWS SDK PHP 版本 2 或更高版本和 https://github.com/aws/aws-sdk-php-silex。
- Iron.MQ 需要
iron-io/iron_mq
包和一个iron_mq
服务。
通过 ServiceResolver 注册
ServiceResolver 支持服务 ID。这意味着它们在需要时才被懒加载,而不是在注册时。
将 bernard.services
注册为 MessageName => ServiceId
的数组,如下所示
<?php $app['bernard.receivers'] = array( 'ImportUsers' => 'users_worker', );
控制台
如果有名为 console
的服务,则将自动注册 consume 命令。对于高级用法,请参阅 Bernard 的官方文档。