ThinkPHP的空模塊和空操作也是很有實(shí)用意義的功能,空模塊的概念就是當(dāng)ThinkPHP找不到指定模塊的時(shí)候,它會(huì)嘗試去定位空模塊(EmptyAction),執(zhí)行空模塊里面的index操作。同理,空操作也是同樣的概念,當(dāng)系統(tǒng)找不到指定模塊下的操作方法的時(shí)候,就會(huì)嘗試去定位空操作方法(empty)。其實(shí)很好理解,就有點(diǎn)類似php虛擬主機(jī)里面的自定義404頁面,但它比自定義404更加靈活,利用這個(gè)機(jī)制,我們可以實(shí)現(xiàn)錯(cuò)誤頁面和一些URL的優(yōu)化,下面分別詳細(xì)介紹下空模塊和空操作的寫法。
1.空模塊,在項(xiàng)目中定義EmptyAction類:
1
2
3
4
5
6
7
|
<?php public class EmptyAction extends Action { public function index(){ echo "當(dāng)前模塊不存在" ; } } ?> |
這就是一個(gè)簡(jiǎn)單的空模塊類,當(dāng)然您也可以在里面做一些更加復(fù)雜的操作,一切都得根據(jù)項(xiàng)目的需求來寫,這里只是做了演示。
2.空操作,空操作即在指定的模塊下面定義,比如說,我們?cè)赨ser這個(gè)模塊,也就是UserAction類下面定義一個(gè)空操作。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php class UserAction extends Action { public function index() { $this ->display(); } public function demo(){ $this ->display(); } public function _empty(){ //該方法即為空操作 echo '當(dāng)前操作不存在' ; } } ?> |
代碼很簡(jiǎn)單,這就是一個(gè)空方法,并且空模塊和空操作還可以同時(shí)使用,用以完成更加復(fù)雜的操作。