private function _action($params)
    {
        // Shift and get the method
        $method = array_shift($params);

        // Behavior
        if ($this->behaviors[$method]) {
            $this->behaviors[$method]();
        }

        if (!isset($this->routes[$method])) {
            $this->_defaultAction();
        }

        // Get corresponding method name
        $method = $this->routes[$method];

        if (!method_exists($this, $method)) {
            $this->_defaultAction();
        }

        return call_user_func_array([$this, $method], $params);
    }
private function _action($params)
    {
        // Shift and get the method
        $method = array_shift($params);

        // Behavior
        if ($this->behaviors[$method]) {
            $this->behaviors[$method]();
        }

        if (!isset($this->routes[$method])) {
            $this->_defaultAction();
        }

        // Get corresponding method name
        $method = $this->routes[$method];

        if (!method_exists($this, $method)) {
            $this->_defaultAction();
        }

        return call_user_func_array([$this, $method], $params);
    }
private function _action ( $ params ) { // Shift and get the method $ method = array_shift ( $ params ) ; // Behavior if ( $ this -> behaviors [ $ method ] ) { $ this -> behaviors [ $ method ] ( ) ; } if ( ! isset ( $ this -> routes [ $ method ] ) ) { $ this -> _defaultAction ( ) ; } // Get corresponding method name $ method = $ this -> routes [ $ method ] ; if ( ! method_exists ( $ this , $ method ) ) { $ this -> _defaultAction ( ) ; } return call_user_func_array ( [ $ this , $ method ] , $ params ) ; }
Action processor for route

@param array Elements contains method for first and params for others
Action processor for route