kyrill / php-route
开发中的路由包
V1.0.1
2024-01-19 12:41 UTC
Requires
- php: >=8.2
Requires (Dev)
- friendsofphp/php-cs-fixer: dev-master
README
PHP-route 是一个轻量级的 PHP 库,简化了 Web 应用程序的路由。它允许您定义路由并将它们与控制器、函数或匿名函数关联,以处理 HTTP 请求。
安装
您可以使用 Composer 轻松安装 PHP 路由系统。
composer require "kyrill/php-route"
用法
基本设置
在您的 index.php 文件中,以下代码是包运行所必需的
<?php require 'vendor/autoload.php';
在您想要使用路由的文件中
要将文件用于路由定义,将以下代码添加到您的路由文件中
<?php use Kyrill\PhpRoute\Router; $router = new Router(); // add an instance of the Router $router->resolveRoute();// resolves all the requests
resolveRoute() 方法将返回 true,如果找到路由,否则返回 false。您可以使用此方法来显示 404 页面,如果没有找到路由
基本用法
您可以将路由添加到控制器,如下所示
$router->addRoute('GET', '/home', [Controller::class, 'home']);
您还可以使用函数作为路由处理程序
$router->addRoute('GET','/routename', 'nameFunction') }); public function nameFunction(){ echo 'Hello function!'; }
此外,匿名函数也可以用作路由处理程序
$router->addRoute('GET','/anonymousfunction', function () { echo 'Hello anonymous function!'; });
在这些示例中,我们使用 GET 方法,但您可以使用任何所需的 HTTP 方法来设置您的路由。
您还可以在路由中使用参数,如果未指定表达式,则默认为 ([0-9]+)
$router->addRoute('GET','/user/{id}', [Controller::class, 'home']);
您还可以在路由中使用正则表达式
$router->addRoute('GET','/user/{id:[0-9]+}', [Controller::class, 'home']);
当前仅支持类方法用于参数化路由。
中间件
您可以将中间件添加到 addRoute 函数中。中间件将在控制器或(匿名)函数之前执行。您的中间件类需要实现 MiddlewareInterface。您的类需要有一个 handle 函数;这是路由包调用的函数。完成此操作后,您可以像这样将中间件添加到函数中
$router->addRoute('GET', '/home', [Controller::class, 'home'], [MiddlewareClass::class]);
许可证
本项目采用 MIT 许可证 - 请参阅 LICENSE.md 文件以获取详细信息