aprezcuba24 / CULabsIlluminateBundle by aprezcuba24

Integrate laravel-Illuminate in symfony2
41
1
3
Package Data
Maintainer Username: aprezcuba24
Maintainer Contact: aprezcuba24@gmail.com (Renier Ricardo Figueredo)
Package Create Date: 2015-11-01
Package Last Update: 2016-06-24
Language: PHP
License: MIT
Last Refreshed: 2024-11-22 03:08:56
Package Statistics
Total Downloads: 41
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 1
Total Watchers: 3
Total Forks: 0
Total Open Issues: 0

CULabsIlluminateBundle

Resumen

Este bundle integra la librería Illuminate del framework Laravel en symfony2, permitiendo usar por ahora el componente Queue y Schedule.

Instlación

{
    "require": {
        "culabs/illuminate-bundle": "dev-master"
    }
}

Actulizar los vendors

php composer.phar update --prefer-dist

Adicionar los bundles en AppKernel

// app/AppKernel.php
public function registerBundles()
{
    return array(
        // ...
        new CULabs\IlluminateBundle\CULabsIlluminateBundle(),
        // ...
    );
}

Configuración

Se debe poner los datos de configuración de laravel, para saber el significado de cada parámetro ir a la documentación de Laravel.

cu_labs_illuminate:
    app:
        key: varlo32caracteres
    database:
        connections:
            mysql:
                database: %database_name%
                username: %database_user%
                password: %database_password%
    queue:
        default: redis

Queue

Crear un Job como se indica en la documentación de laravel y luego lanzar el job de la siguiente forma.

$job = new SendReminderEmail();
$job->delay(2);
$this->get('bus_dispatcher')->dispatch($job);

Schedule

La clase AppKernel debe implementar la interfaz CULabs\IlluminateBundle\Bridge\Scheduling\ScheduleKernelInterface y hacer el método schedule Ejemplos de cómo crear los schedule lo puede ver en la documentación de laravel.

use Illuminate\Console\Scheduling\Schedule;

public function schedule(Schedule $schedule)
{
    $schedule->call(function (){
        $this->container->get('some_service')->method();
    })->everyMinute();
}