bulton-fr / bfw-controller
BFW 控制器模块
Requires
- bulton-fr/bfw: ~3.0.0-RC11@RC
Requires (Dev)
- atoum/atoum: ~3.1
- atoum/visibility-extension: ~1.3
This package is auto-updated.
Last update: 2024-09-26 01:48:00 UTC
README
BFW 控制器模块
安装
您可以使用 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 的路径。