lorenzo-d-alipio/basicrouter

从simonham的simple router分支出来的简单路由器,做了简单的修改

dev-master 2017-08-31 20:41 UTC

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 )

通过编写简单的分发器,我们可以轻松地分发控制器/操作+参数(即将推出)。