ThinkPHP5請求和響應

ThinkPHP5請求和響應:

        一、如何獲取請求類
        1、系統函數
                    $request=request();
        2、系統Request類

        use think\Request;

        // 因爲Request類屬於單例模式 所以 不能直接new
                 $request=Request::instance();
                3、系統Request類
        use think\Request;
        // 方法的書寫
                    public function index(Request $request)
                    {
                    dump($request);

                    }

        二、獲取用戶請求信息
        1、獲取域名
        dump($request->domain());
        2、獲取URL地址 除域名以外
        dump($request->url());
        3、 獲取入口文件
        dump($request->baseFile());
        4、獲取PathInfo路徑
        dump($request->pathinfo());
        5、獲取PATHINFO路徑 無後綴
        dump($request->path());
        6、url地址僞靜態後綴
        dump($request->ext());
        7、僞靜態

        就是將路徑僞裝成靜態頁面,讓搜索引擎更好收錄網站,防止別人知道網站真實開發語言

        三、獲取請求模塊\控制器\方法
        1、控制器
        $request->controller();
        2、方法
        $request->action();
        3、模塊

        $request->module();

        四、獲取請求相關類型
        1、請求類型
        $request->method();
        2、請求資源類型
        $request->type();
        3、訪問地址
        $request->ip();
        4、是否ajax請求
        $request->isAjax();
        5、獲取所有地址欄參數
        $request->param();
        6、獲取特定字段
        $request->only(['name','id']);
        7、剔除字段

        $request->except(['name','id']);

        五、獲取變量
        1、判斷是否存在
        dump($request->has('id','get'));
        dump(input('?get.id'));
        2、讀取變量
        dump($request->get('id'));
        dump(input('get.id'));

        dump($request->get());
        dump(input('get.'));
        3、可以讀取數據類型

        get、post、delete、put、session、cookie、server 等

        $request->get();
        $request->post();
        $request->put();
        $request->server();
        $request->request();
        $request->session();
        $request->cookie();

        六、變量的過濾
        1、作用
        防止惡意輸入、防止sql注入
        2、使用
        01)、全部的數據進行過濾
// 單個方法過濾
$request->filter("htmlspecialchars");
// 多種方法過濾
$request->filter(["htmlspecialchars","strip_tags"]);

        02)、針對變量過濾
            $request->get('name','','htmlspecialchars');
             3、密碼過濾之後加密
            dump($request->get('pass','','htmlspecialchars,md5'));

        七、變量的排除和獲取
        1、獲取
        $request->only('name');
        $request->only('name',get);
        $request->only(['name','pass'],get);
        2、排除
        $request->except(['name','pass'],get);
        $request->except(['name','pass']);
        $request->except('name');
        八、變量修飾符
        1、修飾變量的類型
        s 字符串
        d 整形
        f 浮點型
        a 數組
        b 布爾型
        2、使用
        dump(input('get.id/d')); // 強制轉換整形

        dump($request->get('id/d'));

        九、更改變量
        // 地址欄訪問 http://www.tp.com/index.php/Index/Index/xiugai?id=10
        dump($request->get('id'));  // 10
        dump($request->get(['id'=>20]));  //數組
        十、參數綁定
        1、使用
        public function banding($id,$name="admin"){
            dump($id);
            dump($name);
        }

        http://www.tp.com/index.php/index/index/banding/id/1/name/user
        2、注意
        01)、參數綁定的個數,少於地址欄參數的個數
        02)、參數綁定的名字,必須和地址欄參數名字一一對應
3、參數綁定可以設置默認值
                dump($request->get('id'));  // 20

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章