自定义路由

1. 自定义路由使用说明

phpGrace 除了基础 url 路由解析外,还支持自定义路由,使用方式如下 :

1.1 在入口页开启路由配置

1. 在入口页开启路由配置
<?php
define('PG_ROUTER', true); 
// 在框架核心文件引用前定义 
// include 'phpGrace/phpGrace.php';

1.2 编写路由规则

打开分组目录下的 router.php 编写自定义路由规则,语法 :

array(
    '自定义路由名称' => array('控制器名称', '方法名称', 数组形式的 gets 参数 [ 可选参数 ] ),
    // 更多自定义路由配置
);

自定义路由规则示例 :

<?php
return array(
    'router1.html'  => array('test', 'index'),
    'router2.html'  => array('test', 'index', array(200, 'grace')),
);

// 示例说明
路由: 'router1.html'  => array('test', 'index')
代表:/router1.html 会访问 test 控制器内的 index 方法;

路由: 'router2.html'  => array('test', 'index', array(200, 'grace'))
代表:/other 会访问 test 控制器内的 index 方法,
携带参数 : $this->gets[0] = 200, $this->gets[1] = grace。

2. $_GET 数据

phpGrace 对 PHP 原生的 $_GET 没有任何影响,您可以和原来一样使用他们。

3. $this->gets 数据

除了在路由规则中可以传递 $this->gets, 您还可以在 url 中继续传递数据,系统会自动识别并记录;

4. 自定义路由的优缺点

优点 :
1. 缩短 url 长度,使 url 更美观;
2. 隐藏真实控制器及 url 数据,使应用更加安全;

缺点 : 
1. 大量使用路由会占用服务器内存 ( 规则数据过大 ) ;
2. url 匹配过程增加运行负担( phpGrace 为了更高的运行效率暂不提供正则路由 );
以上缺点在路由规则数据不大 ( 路由规则条数 < 200 条 ) 时对系统影响不大,可以放心使用。