tp6.0 Request一些建議

瀏覽:1223 發布日期:2019/10/29
使用的多模塊應用
1、訪問 /admin通過controller方法得不到對應Index控制器,action方法得不到對應index操作
2、get方法獲取第一個參數是pathinfo,一般用不到,暫時去掉了
3、類似User::create($this->request->param); 會報錯,原因就是get第一個參數是url地址,create中排除/符號報錯了
app目錄Request.php增加以下方法    /**
     * 獲取模塊名稱
     * @return mixed
     */
    public function module(){
        return app('http')->getName();
    }

    /**
     * 獲取當前的控制器名
     * @param bool $convert
     * @return string
     */
    public function controller(bool $convert = false): string {
        $controller = parent::controller($convert);
        $controller = empty($controller) ? $convert ? 'index' : 'Index' : $controller;
        return $controller;
    }

    /**
     * 獲取當前的操作名
     * @access public
     * @param  bool $convert 轉換為小寫
     * @return string
     */
    public function action(bool $convert = false): string {
        $action = parent::action($convert);
        $action = empty($action) ? $convert ? 'index' : 'Index' : $action;
        return $action;
    }
    /**
     * 獲取當前請求的參數
     * @param string $name
     * @param null $default
     * @param string $filter
     * @return mixed
     */
    public function get($name = '', $default = null, $filter = '') {
        $data = parent::get($name,$default,$filter);
        if(is_array($data)){
            reset($data);
            $firstKey = key($data);
            if(substr_count($firstKey, '/')>0){ //去掉第一個數組
                array_shift($data);
            }
            return $data;
        }
        return $data;
    }
評論(
后面還有條評論,點擊查看>>
天津快乐十分开奖结果