liberty_code / route
Requires
- php: ~7 || ~8
- liberty_code/call: ^1.0.
- liberty_code/di: ^1.0.
- liberty_code/library: ^1.0.
Requires (Dev)
- liberty_code/register: ^1.0.
This package is auto-updated.
Last update: 2024-09-29 04:43:20 UTC
README
描述
该库包含路由组件,用于使用路由系统从指定源运行可执行文件。
要求
- 脚本语言:PHP:版本 7 或 8
安装
有几种可能的方式
Composer
要求
需要安装 Composer。更多信息请参阅: https://getcomposer.org.cn
命令:移动到项目根路径
cd "<project_root_path>"
命令:安装
php composer.phar require liberty_code/route ["<version>"]
注意
包含供应商
如果项目使用 Composer,则必须包含 vendor
require_once('<project_root_path>/vendor/autoload.php');
配置
安装命令允许在 composer 文件中添加
{ "require": { "liberty_code/route": "<version>" } }
包含
下载
- 下载以下存储库。
- 将其放在存储库根路径上。
包含源代码
require_once('<repository_root_path>/include/Include.php');
配置
主要配置
使用以下类来配置特定元素
use liberty_code\route\config\model\DefaultConfig; DefaultConfig::instanceGetDefault()->get|set...();
可配置元素
- 正则表达式选项,用于路由
- 参数选项,用于路由
- 全局信息
使用方法
路由
路由系统允许从特定配置和指定源获取可执行文件。
元素
路由
允许设计一个路由,该路由是一个包含配置数组的项,用于从指定字符串源获取可执行文件(回调函数)。
PatternRoute
扩展路由功能。在配置数组中使用正则表达式。
ParamRoute
扩展路由功能。在配置数组中使用带有参数的源。
FixRoute
扩展路由功能。在配置数组中使用固定配置。
SeparatorRoute
扩展路由功能。在配置数组中使用分隔符配置。
RouteCollection
允许设计路由集合。使用路由列表,从指定路由或字符串源检索可执行文件。
RouteFactory
允许设计一个路由工厂,从指定配置提供新的或指定的路由实例。
DiRouteFactory
扩展路由工厂功能。从指定的 DI 提供者提供新的路由实例。
StandardRouteFactory
扩展 DI 路由工厂功能。提供路由实例。
示例
// Get route factory
use liberty_code\route\route\factory\standard\model\StandardRouteFactory;
$routeFactory = new StandardRouteFactory($provider);
...
// Get new route from configuration
$route = $routeFactory->getObjRoute(array(...));
...
构建器
构建器允许用路由填充路由集合。
元素
DefaultBuilder
使用源数据数组来填充路由集合。
示例
// Get route collection
use liberty_code\route\route\model\DefaultRouteCollection;
$routeCollection = new DefaultRouteCollection();
...
// Get route builder
use liberty_code\route\build\model\DefaultBuilder;
$routeBuilder = new DefaultBuilder($routeFactory);
...
// Hydrate route collection
$routeBuilder->setTabDataSrc(array(...));
$routeBuilder->hydrateRouteCollection($routeCollection);
...
foreach($routeCollection->getTabKey() as $key) {
echo($routeCollection->getObjRoute($key)->getStrKey() .'<br />');
}
/**
* Show:
* Route key 1
* ...
* Route key N
*/
...
路由器
路由器允许使用路由集合运行可执行文件(回调函数)。
示例
use liberty_code\route\router\model\DefaultRouter;
$router = new DefaultRouter();
$router->setRouteCollection(...);
...
// Run executable(s), from specified string source
var_dump($router->execute(...));
...
调用
使用路由系统调用,以获取回调函数以执行特定路由目标。
元素
DefaultCall
扩展调用功能。使用路由器获取可执行文件以执行特定目标。
RouteCall
扩展默认路由调用功能。允许配置路由目标。
RouteCallFactory
扩展调用工厂功能。提供路由调用实例。