viragrajput/router

用于处理PHP应用程序中HTTP路由的自定义路由包

v1.0.2 2024-05-07 07:07 UTC

This package is auto-updated.

Last update: 2024-09-07 07:53:30 UTC


README

ViragRouter是一个轻量级的PHP路由包,允许您轻松定义和处理PHP应用程序中的路由。

使用ViragRouter,您将拥有一套强大的功能,这些功能对于高效的路线处理至关重要:无缝的路线定义、动态参数管理、支持中间件的路线分组、命名路由以生成URL等。其轻量级的架构确保了最小化开销,在不牺牲功能的情况下提供最佳性能。

注意

ViragRouter正在积极开发并不断改进。虽然它目前处于开发阶段,可能存在偶尔的错误,因此不建议目前用于生产环境。我感谢您的耐心和理解,我将努力提供稳定可靠的产品。然而,您可以安全地将其用于学习目的、探索其功能以及探索PHP中的高级路由概念。

安装

您可以通过Composer安装ViragRouter

composer require viragrajput/router

运行本地PHP服务器

php -S localhost:8000 -t public

用法

创建路由

您可以使用ViragRouter提供的Route类定义路由。以下是如何定义路由的示例

use Virag\Router\Route;

Route::get('/hello', function () {
    echo "Hello, World!";
});

Route::get('/hello', [HelloController::class, 'index']);

路由参数

您可以通过将它们放在大括号{}内来定义路由参数。这些参数将被传递到您的路由处理程序。以下是一个示例

use Virag\Router\Route;

Route::get('/users/{id}', function ($id) {
    echo "User ID: $id";
});

Route::get('/users/{id}', [UserController::class, 'show']);

路由分组

您可以使用group方法分组路由并应用常见属性。以下是一个示例

use Virag\Router\Route;

Route::group(['middleware' => 'auth'], function () {
    Route::get('/dashboard', 'DashboardController@index');
    Route::get('/settings', 'SettingsController@index');
});

Route::group(['middleware' => 'auth'], function () {
    Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
    Route::get('/settings', [SettingsController::class, 'index'])->name('settings');
});

命名路由

您可以使用name方法命名路由。命名路由允许您根据路由名称生成URL。以下是一个示例

use Virag\Router\Route;

Route::get('/profile', 'ProfileController@index')->name('profile');

Route::get('/profile', [ProfileController::class, 'index'])->name('profile');

中间件

您可以使用middleware方法将中间件应用于路由。中间件允许您过滤进入应用程序的HTTP请求。以下是一个示例

use Virag\Router\Route;

Route::get('/admin', 'AdminController@index')->middleware('admin');

Route::get('/admin', [AdminController::class, 'index'])->middleware('admin');

生成URL

您可以使用generateUrl方法生成命名路由的URL。以下是一个示例

use Virag\Router\Route;

$url = Route::generateUrl('profile');
echo "Profile URL: $url";

处理请求

您可以使用Router类的dispatch方法来处理传入的请求。以下是一个示例

use Virag\HttpFoundation\Request;
use Virag\HttpFoundation\Response;

$router = new Router();

$request = Request::createFromGlobals();
$response = $router->dispatch($request);
$response->send();

如何在您的自定义PHP项目中使用此包

当然!以下是如何将ViragRouter包集成到您的自定义PHP项目中的示例

步骤1:通过Composer安装ViragRouter

首先,通过Composer安装ViragRouter包

composer require viragrajput/router

步骤2:在您的自定义项目中定义路由

在您的自定义项目中,您需要使用ViragRouter的Route类来定义路由。以下是在您的项目中定义路由的示例

// index.php

require_once 'vendor/autoload.php';

use ViragRouter\Route;

Route::get('/', function () {
    echo "Welcome to my custom Project!";
});

Route::get('/hello/{name}', function ($name) {
    echo "Hello, $name!";
});

步骤3:创建路由实例并处理请求

在您的项目入口点(例如,index.php),创建一个路由实例并处理传入的请求

// index.php

require_once 'vendor/autoload.php';

use ViragRouter\Router;
use Virag\HttpFoundation\Request;
use Virag\HttpFoundation\Response;

$router = new Router();

$request = Request::createFromGlobals();
$response = $router->dispatch($request);
$response->send();

步骤4:在您的自定义项目中处理请求

在您的自定义项目中,请确保您有逻辑来处理请求并根据传入的请求调用适当的路由处理程序。

步骤6:附加配置(可选)

根据您的自定义项目架构和需求,您可能需要配置ViragRouter提供的中继件、路由分组、命名路由等附加功能。

按照这些步骤,您应该能够将ViragRouter包集成到您的自定义PHP项目中,并有效地定义和处理路由。根据您项目的具体要求和架构可能需要进行调整。

许可协议

本软件包是开源软件,根据MIT许可协议授权。