Php 如何在codeigniter中获取发出请求的类

Php 如何在codeigniter中获取发出请求的类,php,codeigniter,codeigniter-2,Php,Codeigniter,Codeigniter 2,我的模块都扩展了后端控制器,它检查loggedin和重定向是否正确,现在我有了类FrontEnd[负责登录、注册等页面],它扩展了我的_控制器。 由于前端需要模块的方法来执行任务,因此如何为前端创建访问模块的豁免 这就是我目前拥有的 class Backend_Controller extends MY_Controller { // -------------------------------------------------------------------------- p

我的模块都扩展了后端控制器,它检查loggedin和重定向是否正确,现在我有了类FrontEnd[负责登录、注册等页面],它扩展了我的_控制器。 由于前端需要模块的方法来执行任务,因此如何为前端创建访问模块的豁免

这就是我目前拥有的

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');
            }
        }
    }
// --------------------------------------------------------------------------
}
如何获取“试图访问的类=='FrontEnd” 传统信息: FrontEnd类生成一个具有
在此处输入代码
action=router->fetch_class()将生成someMoudleName,
但我希望它能够检测到操作来自前端类

这取决于你的url,但你可以这样做

 function getNameOfOriginatingClass{
     $this->load->library('user_agent');
     $previous_url = $this->agent->referrer();
     $url_segments = explode('/',$previous_url);
     echo '<pre>';print_r($url_segments);    
 }
函数GetNameOfOriginating类{
$this->load->library('user_-agent');
$previous_url=$this->agent->referer();
$url_segments=分解(“/”,$previous_url);
回显“”;打印($url\u段);
}

打印此结果后,你可以看到你的链接在一个数组中分解成多个部分。。通常,$url_段[3]或$url_段[4]将包含您以前的函数名,而以前的函数名将包含以前的类名,具体取决于您的url。

$this->router->fetch_class()@Nouphal.M谢谢,但我已经试过了,但它不能解决我的问题。请查看编辑后的代码,以便更好地理解。FrontEnd类生成一个表单,其中包含一个action=如果您需要mthod名称,那么您可以通过
$this->router->fetch_method()访问它
@Nouphal.M请检查我的编辑,前端类对扩展后端控制器的模块/方法进行远程调用。我需要后端控制器能够检测到呼叫来自前端类。我对呼叫本身不感兴趣,但对原始类感兴趣。请投票表决我的问题upThanks@BaD Developer。但我不得不修改你的答案。这个部分实际上应该是$url_segments=explode(“/”,$previous_url);