官术网_书友最值得收藏!

  • ThinkPHP實戰
  • 夏磊
  • 390字
  • 2020-11-28 18:26:53

4.3 動作參數綁定

參數綁定通過直接綁定URL地址中的變量(不包括模塊名、控制器名、動作名)為操作方法的函數形參,可以簡化方法定義。動作參數綁定是默認開啟的,如果需要關閉可以配置“URL_PARAMS_BIND”為“false”。

在前面的內容中,如果需要在動作中獲取GET參數,需要使用$_GET數組,而使用動作參數綁定之后就不需要使用$_GET了。

編輯Application/Home/IndexController.class.php,代碼如下:

        <? php
        namespace Home\Controller;
        use Think\Controller;
        class IndexController extends Controller
        {
        public function _before_index()
        {
            echo 'before';
        }
        public function index()
        {
            echo 'index';
        }
        public function _after_index()
        {
            echo 'after';
        }
        public function bind($id)
        {
            echo $id;
        }
        }

新增的bind方法使用了“動作參數綁定”,此處簡單輸出URL變量中的id值,在瀏覽器訪問http://localhost/thinkphp-inaction/chapter-4/home/index/bind/id/1,瀏覽器輸出“1”。

需要注意的是,如果使用了“動作參數綁定”的動作形參未指定默認值,訪問的時候URL中必須包含該變量,否則系統提示“參數錯誤或者未定義”。打開瀏覽器訪問http://localhost/thinkphp-inaction/chapter-4/home/index/bind,瀏覽器輸出“參數錯誤或者未定義”。

解決此問題的方法是給相應參數添加默認值,更改后的bind方法代碼如下:

        public function bind($id = 1)
        {
            echo $id;
        }

打開瀏覽器訪問http://localhost/thinkphp-inaction/chapter-4/home/index/bind,瀏覽器輸出“1”。

主站蜘蛛池模板: 改则县| 辽阳县| 搜索| 中西区| 乌海市| 太谷县| 龙井市| 岱山县| 南充市| 那坡县| 崇左市| 郓城县| 景德镇市| 北碚区| 盐亭县| 沅陵县| 咸宁市| 宁海县| 应用必备| 阿坝| 多伦县| 香港 | 杭锦后旗| 南和县| 远安县| 泰兴市| 渭源县| 张家港市| 宜宾市| 延吉市| 琼海市| 黄大仙区| 衢州市| 莱芜市| 安康市| 海城市| 娄底市| 武城县| 嘉义县| 陆河县| 临武县|