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

  • 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”。

主站蜘蛛池模板: 台中市| 揭西县| 昌平区| 和田县| 四川省| 上犹县| 井冈山市| 泰和县| 三门县| 霞浦县| 元谋县| 托里县| 泸西县| 荃湾区| 五家渠市| 淮阳县| 女性| 盐边县| 汝城县| 根河市| 申扎县| 汶上县| 桐城市| 临桂县| 道真| 刚察县| 张家川| 浮山县| 乌拉特中旗| 乌海市| 长春市| 渭源县| 措勤县| 马关县| 防城港市| 平江县| 新邵县| 桐城市| 七台河市| 阿合奇县| 三亚市|