knplabs/knp-minibus-bundle

将 minibus 集成到 symfony2 中

dev-master 2015-11-12 11:25 UTC

This package is not auto-updated.

Last update: 2024-09-10 15:52:09 UTC


README

minibus

Yolo Yolo ^.^. 这是 Minibus(在 Symfony2 应用程序中)的集成。

一个 Minibus,但是为什么?

Minibus 是一个独立的 PHP 5.4 库,允许你将应用程序的责任和操作解耦到多个 。主要目标是创建 有意义的控制器限制它们的责任。例如,使用 Minibus,你的 应用程序入口点视图 没有关系。它们的责任只限于更改和检索特定的 状态

安装

安装包

$ php composer.phar require knplabs/knp-minibus-bundle

更新你的 AppKernel

// app/AppKernel.php
$bundles = [
    // ...
    new Knp\MinibusBundle\KnpMinibusBundle,
];

快速预览

你等待演示,现在来了!

创建 MinibusBundle

为了开始使用 Minibus,你需要创建你的第一个 MinibusBundle

namespace App;

use Knp\MinibusBundle\Bundle\MinibusBundle;

class AppBundle extends MinibusBundle
{
}

现在在 AppKernel 中注册它

// app/AppKernel.php
$bundles = [
    // ...
    new App\AppBundle,
];

创建站

站就像控制器,除了你可以在一个 动作 中启动任意多的站,而站 不处理任何视图。实际上,站唯一的角色是创建/检索/更新 Minibus 乘客。(即数据)。

必须 位于 BundleNamespace\Station 下并实现 Knp\Minibus\Station。这是一个站示例

namespace App\Station;

use Knp\Minibus\Station;
use Knp\Minibus\Minibus;

class UsernameStation implements Station
{
    public function handle(Minibus $minibus, array $configuration = [])
    {
        $minibus->addPassenger('username', 'Sheldon Cooper');
    }
}

路由

MinibusBundle 附带完整的 yaml 路由语法,允许你轻松创建一个 线路。一旦你准备好了要使用的站,你可以加载 Minibus 路由。

# app/config/routing.yml
app:
    resource: @AppBundle/Resources/config/routing.yml
    type: minibus
    prefix: /

以下是路由

app_some_action:
    pattern: /some/action
    method: GET
    line:
        app.username: ~
        app.other: ~
        app.magic: ~
    terminus:
        twig:
            template: "App::some.html.twig"
    passengers:
        magic_man:
            service: some_service_id
            method: getMagicMan

试试看!

就是这样。 试试看!

当然,如果你想获取此包的完整文档,只需遵循指南即可!

了解更多!