culabs / illuminate-bundle
在symfony2中集成laravel-Illuminate
dev-master
2016-06-24 15:38 UTC
Requires
- illuminate/bus: 5.2.*
- illuminate/config: 5.2.*
- illuminate/container: 5.2.*
- illuminate/database: 5.2.*
- illuminate/encryption: 5.2.*
- illuminate/events: 5.2.*
- illuminate/queue: 5.2.*
- illuminate/redis: 5.2.*
Suggests
- mtdowling/cron-expression: For Cron
- predis/predis: For Redis
This package is not auto-updated.
Last update: 2024-09-11 23:13:43 UTC
README
摘要
此bundle将Laravel框架的Illuminate库集成到symfony2中,目前允许使用队列和调度组件。
安装
{ "require": { "culabs/illuminate-bundle": "dev-master" } }
更新vendor
php composer.phar update --prefer-dist
在AppKernel
中添加bundle
// app/AppKernel.php public function registerBundles() { return array( // ... new CULabs\IlluminateBundle\CULabsIlluminateBundle(), // ... ); }
配置
需要设置laravel的配置数据,具体每个参数的含义请参考Laravel的文档。
cu_labs_illuminate: app: key: varlo32caracteres database: connections: mysql: database: %database_name% username: %database_user% password: %database_password% queue: default: redis
队列
按照laravel文档创建一个Job
,然后按以下方式运行job。
$job = new SendReminderEmail(); $job->delay(2); $this->get('bus_dispatcher')->dispatch($job);
调度
AppKernel类必须实现CULabs\IlluminateBundle\Bridge\Scheduling\ScheduleKernelInterface
接口,并实现schedule
方法。如何创建调度请参考laravel文档。
use Illuminate\Console\Scheduling\Schedule; public function schedule(Schedule $schedule) { $schedule->call(function (){ $this->container->get('some_service')->method(); })->everyMinute(); }