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 相关文章推荐
thinkphp的CURD和查询方式介绍
Dec 19 PHP
php中替换字符串中的空格为逗号','的方法
Jun 09 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
Jul 22 PHP
使用php的HTTP请求的库Requests实现美女图片墙
Feb 22 PHP
php中删除、清空session的方式总结
Oct 09 PHP
PHP多进程编程总结(推荐)
Jul 18 PHP
PHP实现QQ快速登录的方法
Sep 28 PHP
php实现微信扫码支付
Mar 26 PHP
php实现自定义中奖项数和概率的抽奖函数示例
May 26 PHP
PHP利用Socket获取网站的SSL证书与公钥
Jun 18 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 PHP
PHP实现随机数字、字母的验证码功能
Aug 01 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 echo, print, print_r, sprintf, var_dump, var_expor的使用区别
2013/06/20 PHP
PHP共享内存用法实例分析
2016/02/12 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
php实现每日签到功能
2018/11/29 PHP
php封装实现钉钉机器人报警接口的示例代码
2020/08/08 PHP
jquery.AutoComplete.js中文修正版(支持firefox)
2010/04/09 Javascript
js时间日期和毫秒的相互转换
2013/02/22 Javascript
jquery插件开发之实现google+圈子选择功能
2014/03/10 Javascript
深入理解JavaScript系列(38):设计模式之职责链模式详解
2015/03/04 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
原生JS实现图片轮播与淡入效果的简单实例
2016/08/21 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
2020/06/19 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
JS控制鼠标拒绝点击某一按钮的实例
2017/12/29 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
2018/07/23 Javascript
小程序开发踩坑:页面窗口定位(相对于浏览器定位)(推荐)
2019/04/25 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
如何HttpServletRequest文件对象并储存
2020/08/14 Javascript
微信小程序实现可拖动悬浮图标(包括按钮角标的实现)
2020/12/29 Javascript
[01:22:42]2014 DOTA2华西杯精英邀请赛 5 24 DK VS LGD
2014/05/26 DOTA
Python实现115网盘自动下载的方法
2014/09/30 Python
Python isinstance函数介绍
2015/04/14 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
2019/07/14 Python
python2.7的flask框架之引用js&css等静态文件的实现方法
2019/08/22 Python
python实现可下载音乐的音乐播放器
2020/02/25 Python
python实现图像外边界跟踪操作
2020/07/13 Python
python线程池 ThreadPoolExecutor 的用法示例
2020/10/10 Python
python实现图片,视频人脸识别(opencv版)
2020/11/18 Python
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
亚洲最大旅游体验平台:KKday
2017/10/21 全球购物
美国地毯购买网站:Rugs USA
2019/02/23 全球购物
意大利领先的奢侈品在线时装零售商:MCLABELS
2020/10/13 全球购物
知名企业招聘广告词大全
2014/03/18 职场文书
525心理活动总结
2014/07/04 职场文书
政府领导干部个人对照检查材料思想汇报
2014/09/24 职场文书
文明上网主题班会
2015/08/14 职场文书