diego03/path-to-regexp

此包已被废弃且不再维护。未建议替代包。

一个非常简单的 PHP 版 path-to-regexp

1.0.2 2024-01-25 17:58 UTC

This package is auto-updated.

Last update: 2024-03-10 21:29:30 UTC


README

PathToRegexp PHP 库允许您轻松将路由路径转换为正则表达式模式,以便在 Web 应用程序中进行灵活的路由匹配。此说明文件提供了库的概述,并包含了各种用法示例。

安装

composer require diego03/path-to-regexp

用法

基本用法

use Diego\PathToRegexp\PathParser;

$pathParser = new PathParser();
$pattern = $pathParser->toRegex('/users/:id/edit');

// Use $pattern in your route matching logic
if ($pattern->match($uri)) {
    // Matched!
}

带参数的路由

$pathParser = new PathParser();
$pattern = $pathParser->toRegex('/posts/:postId');

// The resulting pattern will match paths like '/posts/123'
if ($pattern->match($uri)) {
    // Matched!
}

带可选参数的路由

$pathParser = new PathParser();
$pattern = $pathParser->toRegex('/articles/:slug?');

// The resulting pattern will match paths like '/articles' and '/articles/some-slug'
if ($pattern->match($uri)) {
    // Matched!
}

带文本段的路由

$pathParser = new PathParser();
$pattern = $pathParser->toRegex('/categories/:categoryName');

// The resulting pattern will match paths like '/categories/some-category'
if ($pattern->match($uri)) {
    // Matched!
}

复杂路由

$pathParser = new PathParser();
$pattern = $pathParser->toRegex('/users/:userId/:action?');

// The resulting pattern will match paths like '/users/123' and '/users/123/edit'
if ($pattern->match($uri)) {
    // Matched!
}

关于正则表达式模式的说明

库使用 TRegx\CleanRegex\Pattern 类进行正则表达式模式。您可以利用其特性进行更高级的使用。有关详细信息,请参阅T-Regx 文档

贡献

欢迎贡献!请随意提交问题或拉取请求。

许可证

此库是开源软件,使用 MIT 许可证