- 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”。
推薦閱讀
- Redis Applied Design Patterns
- 垃圾回收的算法與實現
- 實戰Java程序設計
- 名師講壇:Spring實戰開發(Redis+SpringDataJPA+SpringMVC+SpringSecurity)
- 從零開始學Linux編程
- R用戶Python學習指南:數據科學方法
- Django 3.0入門與實踐
- 后臺開發:核心技術與應用實踐
- Struts 2.x權威指南
- Julia High Performance(Second Edition)
- Python預測分析與機器學習
- Drupal 8 Development:Beginner's Guide(Second Edition)
- WordPress Search Engine Optimization(Second Edition)
- AngularJS UI Development
- Java面向對象程序設計教程