自定义路由
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 条 ) 时对系统影响不大,可以放心使用。