Php 使用codeigniter的_调用帮助

Php 使用codeigniter的_调用帮助,php,ajax,codeigniter,magic-methods,Php,Ajax,Codeigniter,Magic Methods,我在codeigniter中有一个专门处理ajax的类。我在这个类中创建了一个函数来检查refferal是否是ajax refferal,我希望每次使用这个类中的任何函数时都能够调用这个函数 因此,我实现了\u调用魔术方法 class Ajax_content extends Controller { function __construct() { parent::Controller(); } function __call($meth

我在codeigniter中有一个专门处理ajax的类。我在这个类中创建了一个函数来检查refferal是否是ajax refferal,我希望每次使用这个类中的任何函数时都能够调用这个函数

因此,我实现了
\u调用
魔术方法

class Ajax_content extends Controller {

    function __construct()
    {
        parent::Controller();


    }

    function __call($method, $arguments){

            $this->ajaxCheck(); //set up to return false and exit.
            call_user_func_array(array($this,"_".$method),$arguments);

        }
目前,
ajaxCheck()
总是返回
false
exit()
s。但是它没有被调用(目前我的ajax请求仍然返回数据),这是解决问题的有效方法吗

我想把这个叫做 函数每次调用任何函数时 使用此类中的

仅在调用不可访问的方法时触发。如果您希望在每次调用控制器方法时执行某些功能(我假定您指的是映射到web请求的方法,而不是类中的任何函数),您应该将此功能放入构造函数中。

我想把这个叫做 函数每次调用任何函数时 使用此类中的


仅在调用不可访问的方法时触发。如果您希望在每次调用控制器方法时执行某些功能(我假设您指的是映射到web请求的方法,而不是类中的任何函数),您应该将此功能放在构造函数中。

如果您希望在任何方法之前运行一个方法,而不是在codeigniter控制器中使用magic php调用,则可以使用codeigniter的重新映射方法

    public function _remap($method)
    {
        // call and start a method before any other method in codeigniter  controller
    }

有关更多信息,请参见

如果您希望在任何方法之前运行一个方法,而不是在codeigniter控制器中使用magic php\uu调用,则可以使用codeigniter的重新映射方法

    public function _remap($method)
    {
        // call and start a method before any other method in codeigniter  controller
    }

欲了解更多信息,请参见

答案并非如此:答案并非如此: