bulton-fr/bfw-controller

BFW 控制器模块

3.0.0-rc.11 2016-10-08 00:00 UTC

README

BFW 控制器模块

Build Status Coverage Status Scrutinizer Code Quality Latest Stable Version License

安装

您可以使用 composer 获取该模块: composer require bulton-fr/bfw-controller @stable

安装模块: ./vendor/bin/bfwInstallModules

配置

此模块的所有配置文件都将存放在 app/config/bfw-controller/。其中有一个文件用于配置(manifest.json 用于模块更新系统)。

配置文件 config.php

  • useClass:定义所有控制器将是类(true)还是过程式文件(false)。

使用方法

在目录 /src/controllers 中创建您的控制器文件。

对于对象控制器,您可以扩展类 \BfwController\Controller。这个类添加了属性 $app$request,它们可以直接访问 \BFW\Application\BFW\Request 类的实例。您可以使用命名空间 \Controller,它是框架添加的,对应于目录 /src/controllers

对于过程式控制器,文件将被包含在方法 \BfwController\BfwController::runProcedural() 中的闭包中。因此,您将直接访问类的 $this,并在作用域中拥有变量 $routerLinker$controllerFile

示例

BFW 维基 中提取的一个对象控制器的示例。

<?php

namespace Controller;

class Test extends \BfwController\Controller
{
    public function index()
    {
        var_dump($this->request->getRequest());
    }
}

路由模块

此模块不管理应用程序路由。您还需要添加一个路由模块。

路由模块有一个配置文件来定义每个路由。对于每个路由,您应该定义一个“目标”。使用 bfw-controller,"目标"值应具有指定的格式

  • 对于对象控制器:一个数组,第一个值应该是类名(带命名空间),第二个值是方法名。类似于可调用的数组。
  • 对于过程式控制器:带有此扩展名的文件名。应省略到目录 /src/controller 的路径。