aatis / routing
此包最新版本(1.1.0)没有可用的许可证信息。
Aatis 路由系统
1.1.0
2024-02-14 13:24 UTC
Requires
README
安装
composer require aatis/routing
用法
要求
首先,将路由器添加到您的容器配置中。
# config/services.yaml include_services: - 'Aatis\Routing\Service\Router'
您可以向此路由器提供多个参数
Aatis\Routing\Service\Router: arguments: baseHomeController: 'Path\To\Your\HomeController', templateRenderer: 'Path\To\Your\TemplateRenderer', notFoundErrorTemplate: 'path/template.tpl', notFoundErrorVars: template_var1: 404 template_var2: "Page not found !"
notFoundErrorTemplate(默认:/errors/error.tpl.php)和notFoundErrorVars(默认:[])是可选的
控制器
每个控制器都必须继承抽象类 AbstractController
。
class AatisController extends AbstractController { // ... }
AbstractController
类提供了一个 render
方法,允许您渲染模板。
class AatisController extends AbstractController { public function hello(): void { $this->render('template/path', [ 'template_var1' => 'Hello', 'template_var2' => 'World !' ]); } }
主页控制器
在您的应用程序中,您必须有一个继承自抽象类 AbstractHomeController
的主页控制器。
class AatisHomeController extends AbstractHomeController { public function home(): void { // ... } }
对于主页方法,不需要 Route
属性
路由
您可以在控制器中创建您的路由,如下例所示
#[Route('/hello')] public function hello(): void { // ... }
您可以将多个 Route
分配给同一控制器函数
您不能将相同的 Route
分配给多个控制器函数
带参数的路由
您还可以像以下示例那样为您的路由提供参数
#[Route('/hello/{name}/{age}')] public function hello(string $name, int $age): void { // ... }