action引數繫結功能提供了url變數和操作方法的引數繫結支援,這一功能可以使得你的操作方法定義和引數獲取更加清晰,也便於跨模組呼叫操作方法了。這一新特性對以往的操作方法使用沒有任何影響,你也可以用新的方式來改造以往的操作方法定義。
action引數繫結的原理是把url中的引數(不包括分組、模組和操作位址)和控制器的操作方法中的引數進行繫結。例如,我們給blog模組定義了兩個操作方法read和archive方法,由於read操作需要指定乙個id引數,archive方法需要指定年份(year)和月份(month)兩個引數。
action引數繫結的引數必須和url中傳入的引數名稱一致,但是引數順序不需要一致。也就是說
報錯的原因很簡單,因為在執行read操作方法的時候,id引數是必須傳入引數的,但是方法無法從url位址中獲取正確的id引數資訊。由於我們不能相信使用者的任何輸入,因此建議你給read方法的id引數新增預設值,例如:
publicfunction read($id=0)
這樣,當我們訪問
的時候 就會輸出
id=0
當我們訪問
的時候,輸出:
year=2012&month=01
via:
ThinkPHP3 1新特性 內容解析輸出
thinkphp中頁面輸出的過程是讀取模板檔案,然後進行模板解析 也支援呼叫第三方模板引擎解析 但是有一些情況,我們並沒有定義模板檔案,或者把模板檔案儲存在資料庫裡面,那麼這個時候進行頁面輸出的時候,我們是無法進行模板檔案讀取的,3.1版本則針對這樣的情況增加了內容解析輸出的功能。內建的模板引擎也進...
ThinkPHP3 1新特性 多層MVC支援
thinkphp基於mvc model view controller,模型 檢視 控制器 模式,不過均支援多層 multi layer 設計。模型 model 層 預設的模型層由model類構成,但是隨著專案的增大和業務體系的複雜化,單一的模型層很難解決要求,從3.1開始推出了多層model的支援...
ThinkPHP3 1新特性 頁面壓縮輸出支援
現在大多數瀏覽器都已經支援頁面的壓縮輸出,通過壓縮輸出,頁面大小可以減少30 由於3.0版本沒有內建頁面壓縮輸出功能,所以一般來說,需要自己在入口檔案中新增 ob start ob gzhandler 但是由於伺服器環境的不同,有時候這個配置會和php.ini檔案中的zlib壓縮配置衝突。3.1新版...