首頁 後端開發 php教程 PHP Codeigniter 中的_re地图方法简介

PHP Codeigniter 中的_re地图方法简介

Jun 13, 2016 pm 01:19 PM
access codeigniter nbsp

PHP Codeigniter 中的_remap方法简介
  在Codeigniter 中,其实有个容易忽略掉的不错的控制器层处理的方法,
那就是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了,否则显示出错信息



1 楼 shirne 2012-04-06  
学习了..
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Windows11怎麼停用後台應用程式_Windows11停用後台應用程式教學 Windows11怎麼停用後台應用程式_Windows11停用後台應用程式教學 May 07, 2024 pm 04:20 PM

Windows11怎麼停用後台應用程式_Windows11停用後台應用程式教學

deepseek怎麼轉換pdf deepseek怎麼轉換pdf Feb 19, 2025 pm 05:24 PM

deepseek怎麼轉換pdf

無法允許存取 iPhone 中的相機和麥克風 無法允許存取 iPhone 中的相機和麥克風 Apr 23, 2024 am 11:13 AM

無法允許存取 iPhone 中的相機和麥克風

java裡面的dao是什麼意思 java裡面的dao是什麼意思 Apr 21, 2024 am 02:08 AM

java裡面的dao是什麼意思

field在java中是什麼意思 field在java中是什麼意思 Apr 25, 2024 pm 10:18 PM

field在java中是什麼意思

oracle儲存程序執行計劃怎麼看 oracle儲存程序執行計劃怎麼看 Apr 18, 2024 pm 10:18 PM

oracle儲存程序執行計劃怎麼看

Java反射機制如何修改類別的行為? Java反射機制如何修改類別的行為? May 03, 2024 pm 06:15 PM

Java反射機制如何修改類別的行為?

vue中iframe跨域的方法 vue中iframe跨域的方法 May 02, 2024 pm 10:48 PM

vue中iframe跨域的方法

See all articles