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 计算两个时间戳相隔的时间的函数(小时)
Dec 18 PHP
微盾PHP脚本加密专家php解密算法
Sep 13 PHP
php修改时间格式的代码
May 29 PHP
PHP 读取Postgresql中的数组
Apr 14 PHP
CI框架安全类Security.php源码分析
Nov 04 PHP
php面向对象中static静态属性和静态方法的调用
Feb 08 PHP
PHP生成plist数据的方法
Jun 16 PHP
jquery+php实现导出datatables插件数据到excel的方法
Jul 06 PHP
PHP面试题之文件目录操作
Oct 15 PHP
详解PHP匿名函数与注意事项
Mar 29 PHP
PHP二维数组矩形转置实例
Jul 20 PHP
PHP数组基本用法与知识点总结
Jun 02 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
欧美媒体选出10年前最流行的17部动画
2017/01/18 日漫
苏联队长,苏联超人蝙蝠侠,这些登场的“山寨”英雄真的很严肃
2020/04/09 欧美动漫
PHP截取中文字符串的问题
2006/07/12 PHP
php下将XML转换为数组
2010/01/01 PHP
回帖脱衣服的图片实现代码
2014/02/15 PHP
PHP中copy on write写时复制机制介绍
2014/05/13 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
替换php字符串中的单引号为双引号的方法
2017/02/16 PHP
JS跨域总结
2012/08/30 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
详解JavaScript函数绑定
2013/08/18 Javascript
js中substring和substr的详细介绍与用法
2013/08/29 Javascript
JS实现模仿微博发布效果实例代码
2013/12/16 Javascript
JS基于Ajax实现的网页Loading效果代码
2015/10/27 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
2016/04/06 Javascript
jQuery通过写入cookie实现更换网页背景的方法
2016/04/15 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
浅谈Node.js:fs文件系统模块
2016/12/08 Javascript
js判断是否是手机页面
2017/03/17 Javascript
node.js平台下的mysql数据库配置及连接
2017/03/31 Javascript
原生JS实现圆环拖拽效果
2017/04/07 Javascript
JavaScript实现旋转轮播图
2020/08/18 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
2018/01/09 Javascript
使用JS模拟锚点跳转的实例
2018/02/01 Javascript
vue 项目接口管理的实现
2019/01/17 Javascript
Vue.extend实现挂载到实例上的方法
2019/05/01 Javascript
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
H5实现手机拍照和选择上传功能
2019/12/18 Javascript
swiper4实现移动端导航栏tab滑动切换
2020/10/16 Javascript
python读取xlsx的方法
2018/12/25 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
python实现的生成word文档功能示例
2019/08/23 Python
十八届三中全会报告学习材料
2014/02/17 职场文书
2014单位领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
golang中的空接口使用详解
2021/03/30 Python