CodeIgniter框架中_remap()使用方法2例


Posted in PHP onMarch 10, 2014

一、CodeIgniter手册相关介绍
URI 的第二片段决定会调用控制器中的哪个方法。CodeIgniter 允许你使用 _remap() 方法来废除这种规则:

public function _remap()  
{  
    // Some code here...  
}

注意:如果你的控制器中包含一个名为 _remap() 的方法,那么不管你的 URI 中包含什么,它总会被忽略掉。这个方法会废除掉由 URI 片段来决定哪个方法被调用的规则,允许你重新定义调用方法的规则(方法的路由规则)。
既可以通过example.com/index.php/ blog /   来调用_remap()的方法,若_remap()有参数,则在/后加参数,调用具体的代码。
二、使用方法2例
但问题是,手册上这样说的,会有什么用处呢?其实用处有两个:

1、改变URL,隐藏方法,比如你的应用中,原来的URL方法是: 

example.com/index.php/blog/say

现在想改变显示的方法名为: 
example.com/index.php/blog/hello

但显示虽然是hello,但实际上是调用存在的say方法
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了,否则显示出错信息。
PHP 相关文章推荐
如何实现给定日期的若干天以后的日期
Oct 09 PHP
定制404错误页面,并发信给管理员的程序
Oct 09 PHP
php curl post 时出现的问题解决
Jan 30 PHP
PHP远程采集图片详细教程
Jul 01 PHP
如何在HTML 中嵌入 PHP 代码
May 13 PHP
PHP使用flock实现文件加锁的方法
Jul 01 PHP
PHP封装CURL扩展类实例
Jul 28 PHP
thinkphp微信开发(消息加密解密)
Dec 02 PHP
php仿微信红包分配算法的实现方法
May 13 PHP
PHP的Json中文处理解决方案
Sep 29 PHP
深入解析PHP中SESSION反序列化机制
Mar 01 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
Apr 09 PHP
PHP文件大小格式化函数合集
Mar 10 #PHP
php GUID生成函数和类
Mar 10 #PHP
PHP加Nginx实现动态裁剪图片方案
Mar 10 #PHP
php实现文件下载简单示例(代码实现文件下载)
Mar 10 #PHP
php实现文件编码批量转换
Mar 10 #PHP
php导出word文档与excel电子表格的简单示例代码
Mar 08 #PHP
php 创建以UNIX时间戳命名的文件夹(示例代码)
Mar 08 #PHP
You might like
PHP类的静态(static)方法和静态(static)变量使用介绍
2012/02/19 PHP
浅析php变量修饰符static的使用
2013/06/28 PHP
国外十大最流行的PHP框架排名
2013/07/04 PHP
详解php设置session(过期、失效、有效期)
2015/11/12 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
2016/10/20 PHP
ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能示例
2020/02/07 PHP
JS模拟多线程
2007/02/07 Javascript
jquery和ajax的关系详细介绍
2013/11/29 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
基于jQuery实现动态数字展示效果
2015/08/12 Javascript
jQuery验证插件validate使用详解
2016/05/11 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
2016/08/01 Javascript
微信小程序 地图map实例详解
2017/06/07 Javascript
js使用highlight.js高亮你的代码
2017/08/18 Javascript
mui 打开新窗口的方式总结及注意事项
2017/08/20 Javascript
微信小程序使用radio显示单选项功能【附源码下载】
2017/12/11 Javascript
JS实现的DOM插入节点操作示例
2018/04/04 Javascript
vue2.0+koa2+mongodb实现注册登录
2018/04/10 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
vue系列之requireJs中引入vue-router的方法
2018/07/18 Javascript
layui form.render('select', 'test2') 更新渲染的方法
2019/09/27 Javascript
Python对两个有序列表进行合并和排序的例子
2014/06/13 Python
python 生成器协程运算实例
2017/09/04 Python
使用python搭建服务器并实现Android端与之通信的方法
2019/06/28 Python
浅谈Keras的Sequential与PyTorch的Sequential的区别
2020/06/17 Python
新西兰购物网站:TheMarket NZ
2020/09/19 全球购物
文秘专业自荐信
2013/10/14 职场文书
统计学专业毕业生的自我评价分享
2013/11/28 职场文书
淘宝活动策划方案
2014/02/06 职场文书
大学自我评价
2014/02/12 职场文书
活动倡议书范文
2014/05/13 职场文书
八月迷情观后感
2015/06/11 职场文书
2015最新婚礼司仪主持词
2015/06/30 职场文书
2019年中,最受大众欢迎的6本新书
2019/08/07 职场文书
sql查询语句之平均分、最高最低分及排序语句
2022/05/30 MySQL