如何获得的请求笨从它起源类(How to get the class from which a re

2019-10-19 09:52发布

我的模块的所有延伸后端控制器,其检查是否的loggedIn并适当地重新导向,我现在有类前端[负责像登录页面,注册等],其延伸My_Controller。 我怎么可以创建一个豁免前端能够访问模块,因为它需要他们的方法来执行任务。

这是我所目前....

class Backend_Controller extends MY_Controller {

// --------------------------------------------------------------------------
    public function __construct() {
        parent::__construct();
        $this->checkLoggedIn();
    }

// --------------------------------------------------------------------------
    public function checkLoggedIn() {
        //check if loggedin
        if (!$this->auth->loggedIn()) {
            //implement exclusion for FrontEnd class to allow access to methods though not        logged in
            if (!the class trying to access == 'FrontEnd') { //how to get refferal page
                return;
            } else {
                redirect('login');
            }
        }
    }
// --------------------------------------------------------------------------
}

我如何能得到“之类试图访问==“前端” Edditional信息:前端类生成具有形式enter code here行动=路由器- > FETCH_CLASS()将导致someMoudleName,但我想是吧要能够检测到动作,从前端类来

Answer 1:

这将取决于您的网址,但你可以做这样的事情..

 function getNameOfOriginatingClass{
     $this->load->library('user_agent');
     $previous_url = $this->agent->referrer();
     $url_segments = explode('/',$previous_url);
     echo '<pre>';print_r($url_segments);    
 }

打印此结果后,U可以看到你的链接分成部分在阵列..通常情况下,$ url_segments [3]或$ url_segments [4]将包含以前的函数名和前一个将包含以前的类名取​​决于您的网址。



文章来源: How to get the class from which a request originates in codeigniter