culabs/illuminate-bundle

在symfony2中集成laravel-Illuminate

dev-master 2016-06-24 15:38 UTC

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();
}