Php 菲尔';在执行操作之前,请关闭rest服务器

Php 菲尔';在执行操作之前,请关闭rest服务器,php,codeigniter,rest,Php,Codeigniter,Rest,我正在创建一个rest服务。我已经完成了所有必需的方法,我想做的是一些授权。我已经创建了一个存储api键的表,我在每个方法中加载它们,它运行得非常好。 我现在需要做的是在每个方法之前调用一些before操作,这样我就不必检查用户是否在每个方法上成功授权了?在简单的CI_控制器或FuelPHP中,以前可以使用公共函数完成,但我不知道如何在REST_控制器中实现相同的功能 提前谢谢这里有两个控制器。我可以给你一些想法 class MY_Controller extends CI_Controller

我正在创建一个rest服务。我已经完成了所有必需的方法,我想做的是一些授权。我已经创建了一个存储api键的表,我在每个方法中加载它们,它运行得非常好。 我现在需要做的是在每个方法之前调用一些before操作,这样我就不必检查用户是否在每个方法上成功授权了?在简单的CI_控制器或FuelPHP中,以前可以使用公共函数完成,但我不知道如何在REST_控制器中实现相同的功能


提前谢谢

这里有两个控制器。我可以给你一些想法

class MY_Controller extends CI_Controller 
{
    protected $before_filter    =   array();
    protected $after_filter     =   array();    

    private function run_filter($who, $params=array()) 
    {
        $filter =   $this->{"{$who}_filter"};

        if (is_string($filter)) {
            $filter =   array($filter);
        }

        if (method_exists($this, "{$who}_filter")) {
            $filter[]   =   "{$who}_filter";
        }

        foreach ($filter as $method) {
            call_user_func_array(array($this, $method), $params);
        }
    }
    public function _remap($method, $parameters)
    {
        if (method_exists($this, $method))
        {
            $this->run_filter('before', $parameters);
            $return =   call_user_func_array(array($this, $method),$parameters);
            $this->run_filter('after', $parameters);    
        }else{
            show_404();
        }
    }   
}

class MY_Controller extends CI_Controller 
{
    public $before_filter   =   array('check_login');
    public $after_filter        =   array();    

    private function dashboard() 
    {
        /*  other code here */
    }

    public function check_login() 
    {
        /*  Login checking Code here    */
    }   
}

您可以在构造函数中执行此操作。当然,构造函数是在方法运行之前初始化的,但是我忘了提到我需要从构造函数中获取一些get值,这是构造函数不允许的