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 的路径。