hm-hajjaji/route

路由组件基于 php 属性定义系统路由

v1.1 2023-07-22 19:49 UTC

This package is auto-updated.

Last update: 2024-09-23 11:11:16 UTC


README

路由组件基于 php 属性 定义系统路由

使用方法

步骤 1:安装

要在项目中安装 PHP 路由器,您可以直接在控制台的项目路径下运行以下命令

composer require hm-hajjaji/route

步骤 2:示例用法

在您的项目 index.php 文件中,创建一个 HttpRoute 类的实例,并将项目控制器路径作为 controller_dir 参数传递

<?php
//index.php
use Route\Http\HttpRoute;
//get autoload of composer
require_once dirname(__DIR__)."/vendor/autoload.php";

//create object from class HttpRoute
(new HttpRoute("path controllers"))->resolve();

创建一个控制器,并在 action index 上添加 Route 属性

<?php
namespace App\Controller;
use Route\Route;

class HomeController
{
    #[Route("/home","app_home")]
    public function index()
    {
        echo "welcome home";
    }
}

步骤 3:运行

运行您自己的本地服务器示例

php -S localhost:8000

最后,访问 url https://:8000/home

前缀

在一个控制器中前缀操作路由

<?php
namespace App\Controller;
use Route\Route;

#[Route("/user")]
class HomeController
{
    #[Route("/home","app_home")]
    public function index()
    {
        echo "welcome home";
    }
    
    #[Route("/show","app_show")]
    public function show()
    {
        echo "welcome show";
    }
}

传递参数

您可以为路由传递多个参数

<?php
namespace App\Controller;
use Route\Route;

class HomeController
{
    #[Route("/home/{name}","app_home")]
    public function index($name)
    {
        echo "welcome $name";
    }
}

现在要访问操作,请执行以下操作

访问 url https://:8000/home/name_value

输出为:welcome name_value

恢复路径

您可以使用 path 函数从 路由名称 中恢复 路径

<a href="<?=HttpRoute::path("app_home",['name' => 'Home'])?>">Home</a>

路径将为:https://:8000/home/Home