《PHP應(yīng)用:初識(shí)ThinkPHP控制器》要點(diǎn):
本文介紹了PHP應(yīng)用:初識(shí)ThinkPHP控制器,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
相關(guān)主題:thinkphp教程
本文的重點(diǎn)講解的ThinkPHP控制器的定義、基本操作內(nèi)容,希望大家可以對(duì)ThinkPHP控制器有初步的了解.PHP應(yīng)用
PHP應(yīng)用
最基本的控制器:PHP應(yīng)用
<?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function index(){ } public function hello(){ echo 'hello'; } }
控制器的名稱(chēng)采用駝峰法命名(首字母大寫(xiě)),控制器文件位于 Application/Home/Controller/IndexController.class.phpPHP應(yīng)用
IndexController控制器類(lèi)的hello方法就是操作方法,拜訪下面的URL地址:PHP應(yīng)用
http://serverName/Home/Index/hello
?就會(huì)輸出"hello"PHP應(yīng)用
前置和后置操作:PHP應(yīng)用
<?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function _before_index(){ echo "index.before<br>"; } public function index(){ echo "index<br>"; } public function _after_index(){ echo "index.after<br>"; } }
配置ACTION_SUFFIX改變操作辦法書(shū)寫(xiě)方式:PHP應(yīng)用
因?yàn)椴僮鬓k法就是控制器的一個(gè)辦法,所以遇到有和系統(tǒng)的關(guān)鍵字沖突的辦法可能就不能定義了,這個(gè)時(shí)候我們可以設(shè)置操作辦法的后綴來(lái)解決,例如PHP應(yīng)用
'ACTION_SUFFIX'???????? =>? 'Action', // 操作辦法后綴
設(shè)置操作辦法的后綴為Action,這樣,控制器的操作辦法定義調(diào)整為:PHP應(yīng)用
<?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function listAction(){ echo 'list'; } public function helloAction(){ echo 'hello'; } public function testAction(){ echo 'test'; } }
空控制器和空操作辦法:PHP應(yīng)用
空操作是指系統(tǒng)在找不到哀求的操作方法的時(shí)候,會(huì)定位到空操作(_empty)方法來(lái)執(zhí)行,利用這個(gè)機(jī)制,我們可以實(shí)現(xiàn)錯(cuò)誤頁(yè)面和一些URL的優(yōu)化.PHP應(yīng)用
PHP應(yīng)用
上圖所示,當(dāng)拜訪:PHP應(yīng)用
http://serverName/index.php/Home/City/beijing/
由于City控制器并沒(méi)有定義beijing、shanghai或者shenzhen操作辦法,因此系統(tǒng)會(huì)定位到空操作辦法 _empty中去解析,_empty辦法的參數(shù)就是當(dāng)前URL里面的操作名,因此會(huì)看到依次輸出的結(jié)果是:PHP應(yīng)用
你是怎么找到我的??PHP應(yīng)用
操作綁定到類(lèi): (作用:可以實(shí)現(xiàn)為每個(gè)操作辦法定義一個(gè)類(lèi),而不是控制器類(lèi)的一個(gè)辦法)PHP應(yīng)用
以URL拜訪為 http://serverName/Home/Index/index為例,PHP應(yīng)用
原來(lái)的控制器文件定義位置為:Application/Home/Controller/IndexController.class.phpPHP應(yīng)用
控制器類(lèi)的定義如下:PHP應(yīng)用
namespace Home\Controller; use Think\Controller; class IndexController extends Controller{ public function index(){ echo '執(zhí)行Index控制器的index操作'; } }
可以看到,實(shí)際上我們調(diào)用的是 Home\Controller\IndexController 類(lèi)的index辦法.PHP應(yīng)用
?通過(guò)配置文件設(shè)置參數(shù)PHP應(yīng)用
'ACTION_BIND_CLASS'??? =>??? True,
設(shè)置后,控制器文件位置改為:Application/Home/Controller/Index/index.class.phpPHP應(yīng)用
控制器類(lèi)的定義如下:PHP應(yīng)用
namespace Home\Controller\Index; use Think\Controller; class index extends Controller{ public function run(){ echo '執(zhí)行Index控制器的index操作'; } }
現(xiàn)在,我們調(diào)用的其實(shí)是 Home\Controller\Index\index 類(lèi)的run辦法.
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)php程序設(shè)計(jì)有所幫助.PHP應(yīng)用
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP應(yīng)用:初識(shí)ThinkPHP控制器》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/6950.html