kyrill/php-route

开发中的路由包

V1.0.1 2024-01-19 12:41 UTC

This package is auto-updated.

Last update: 2024-09-19 09:35:49 UTC


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 文件以获取详细信息