lorenzo-d-alipio / basicrouter
从simonham的simple router分支出来的简单路由器,做了简单的修改
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-09-28 17:23:05 UTC
README
这个路由器基于simonhamp/routes,我几个月前做了分支。原始路由器没有问题。不过,我决定添加另一种方法从原始类中的route()方法提取控制器和控制器方法。
安装
可以使用composer进行安装。{
"require":{ "basicrouter": "dev-master" }, "repositories": [
{ "type": "vcs", "url": "https://github.com/Bryan-D-Lee/basicrouter"
} ]
}
如果你通过composer安装,请确保在Router类顶部添加命名空间。
<?php namespace System\Libraries;
composer安装示例
<?php
require_once(DIR .'/vendor/autoload.php');
$routes = array(
'controller/(:any)/(:any)/(:any)' => 'test/index/$1/$2/$3/',
'register/' => 'MyController/myController_action'
);
$url = 'dir/controller/method/param_one/param_two/param_threee';
$default_dir = ('dir/');
$request = trim(str_replace($default_dir, '', $url));
System\Libraries\Router::add($routes);
$action_request = System\Libraries\Router::route($request);
print_r(array_filter($action_request));
替代安装示例
<?php
include('Router.php');
$routes = array(
'controller/(:any)/(:any)/(:any)' => 'test/index/$1/$2/$3/',
'register/' => 'MyController/myController_action'
);
$url = 'dir/controller/method/param_one/param_two/param_threee';
$default_dir = ('dir/');
$request = trim(str_replace($default_dir, '', $url));
Router::add($routes);
$action_request = Router::route($request);
print_r(array_filter($action_request));
上述示例应返回类似以下内容
Array ( [0] => test [1] => index [2] => method [3] => param_one [4] => param_two [5] => param_threee )
通过编写简单的分发器,我们可以轻松地分发控制器/操作+参数(即将推出)。