PHP Codeigniter中的_remap方法简介_PHP教程
那就是remap,这里简单介绍下。
其实在CI的URL控制方式表示中,比如:
example.com/index.php/blog/comments/
这样的形式中,blog就是controller,comments就是你的方法了。
又比如参数的传递是这样的:
example.com/index.php/products/shoes/sandals/123
sandals/123就是传递的两个参数了。
URI 的第二片段决定会调用控制器中的哪个方法。CodeIgniter 允许你使用 _remap() 方法来废除这种规则:
public function _remap()
{
// Some code here...
}
注意:如果你的控制器中包含一个名为 _remap() 的方法,那么不管你的 URI 中包含什么,它总会被忽略掉。这个方法会废除掉由 URI 片段来决定哪个方法被调用的规则,允许你重新定义调用方法的规则(方法的路由规则)。
但问题是,手册上这样说的,会有什么用处呢?其实用处有两个:
1,改变URL,隐藏方法,比如你的应用中,原来的URL方法是:
http://anmsaiful.net/blog/display_successful_message
现在想改变显示的方法名为:
http://anmsaiful.net/blog/successful
但显示虽然是successful,但实际上是调用存在的display_successful_message
方法,这就要用到_remap方法了。
2 还可以借这个函数做简单的函数方法控制,比如:
public function _remap($method, $params = array())
{
$user_type = $_SESSION['user_type'];
$access_control = $this->validate_access($user_type,$method);
if ($access_control){
$this->$method();
}
else{
$this->show_message();
}
}
首先取出用户session中的级别 $user_type,然后检查通过方法
validate_access这个用户有无权限调用这个方法($method)
,如果有的话$access_control==true了,否则显示出错信息
摘自 jackyrong
推荐阅读
-
PHP Codeigniter中的_remap方法简介_PHP教程
-
php获取四位字母和数字的随机数的实现方法,四位随机数_PHP教程
-
使用PHP生成XML文件的四种方法_PHP教程
-
php读取torrent种子文件内容的方法(测试可用),_PHP教程
-
php获取错误信息的方法,php获取错误信息_PHP教程
-
php中运用http调用的GET和POST方法示例_PHP
-
PHP学堂之聊天室处理异常离线的方法_PHP教程
-
php打印输出棋盘的实现方法,php打印输出棋盘_PHP教程
-
php使用unset()删除数组中某个单元(键)的方法,unset数组_PHP教程
-
判断php数组是否为索引数组的实现方法_PHP教程