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 相关文章推荐
php框架Phpbean说明
Jan 10 PHP
php一些公用函数的集合
Mar 27 PHP
PHP与javascript实现变量交互的示例代码
Jul 23 PHP
PHP的serialize序列化数据以及JSON格式化数据分析
Oct 10 PHP
Yii2针对指定url的生成及图片等的引入方法小结
Jul 18 PHP
php查找字符串中第一个非0的位置截取
Feb 27 PHP
PHP常用算法和数据结构示例(必看篇)
Mar 15 PHP
PHP回调函数与匿名函数实例详解
Aug 16 PHP
Laravel框架自定义验证过程实例分析
Feb 01 PHP
php文件操作之文件写入字符串、数组的方法分析
Apr 15 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 PHP
php如何实现数据库的备份和恢复
Nov 30 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基础学习笔记
2007/03/18 PHP
cmd下运行php脚本
2008/11/25 PHP
PHP内存缓存Memcached类实例
2014/12/08 PHP
Laravel中如何增加自定义全局函数详解
2017/05/09 PHP
在视频前插入广告
2006/11/20 Javascript
javascript json2 使用方法
2010/03/16 Javascript
23个Javascript弹出窗口特效整理
2011/02/25 Javascript
jquery iframe操作详细解析
2013/11/20 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
jQuery实现带动画效果的多级下拉菜单代码
2015/09/08 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
2016/05/05 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
JavaScript事件学习小结(一)事件流
2016/06/09 Javascript
学习Angular中作用域需要注意的坑
2016/08/17 Javascript
javaScript如何跳出多重循环break、continue
2016/09/01 Javascript
Vue数据驱动模拟实现2
2017/01/11 Javascript
JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
2017/02/19 Javascript
使用重写url机制实现验证码换一张功能
2017/08/01 Javascript
Nodejs进阶之服务端字符编解码和乱码处理
2017/09/04 NodeJs
React中的refs的使用教程
2018/02/13 Javascript
浅析Vue实例以及生命周期
2018/08/14 Javascript
浅谈python新手中常见的疑惑及解答
2016/06/14 Python
Python网络爬虫出现乱码问题的解决方法
2017/01/05 Python
Python 专题六 局部变量、全局变量global、导入模块变量
2017/03/20 Python
用Python下载一个网页保存为本地的HTML文件实例
2018/05/21 Python
简单了解Python matplotlib线的属性
2019/06/29 Python
使用Python的Turtle库绘制森林的实例
2019/12/18 Python
在TensorFlow中屏蔽warning的方式
2020/02/04 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
2020/06/04 Python
巴西美妆购物网站:Kutiz Beauté
2019/03/13 全球购物
中国文明网签名寄语
2014/01/18 职场文书
2014年元旦联欢会活动策划方案
2014/02/16 职场文书
读书活动总结范文
2014/04/26 职场文书
心理学专业求职信
2014/06/16 职场文书
高三语文教学反思
2016/02/16 职场文书
利用Apache Common将java对象池化的问题
2022/06/16 Servers