【小(xiǎo)編推薦】ThinkPHP3.2——空​€ (kōng)操作(zuò)

2014-06-26  ₩£'≈; |  &n♠≥bsp;發布者:梁國(guó)芳 &nbs←&₽p; |   查看(kàn&&∞✘):3320次

Thinkphp

空(kōng)操作(zuò)是(shì)指系統在 £ 找不(bù)到(dào)請(qǐng)求的(de)操作(z↕≤uò)方法的(de)時(shí)候,會(huì)定位到(dà ☆π→o)空(kōng)操作(zuò)(_empty)方法來(lái)執行(xíng),利用(yòng)這(zhè)個(gè)機(☆&jī)制(zhì),我們可(kě)以實現(xiàn)≈↕錯(cuò)誤頁面和(hé)一(yī)些(xiē)URL的(de≈​€)優化(huà)。

例如(rú),下(xià)面我們用(yòng)空(kō♦•φng)操作(zuò)功能(néng)來(lái)實現(xiàn)一(yī✘α)個(gè)城(chéng)市(shì)切換的(de)功能(néngλφ→δ)。 我們隻需要(yào)給CityAction類定義一(‌₹±∏yī)個(gè)_empty(空(kōng)操作(zuò))方法:

  1. <?php
  2. namespace Home\Controller;
  3. use Think\Controller;
  4. class CityController extends Controller{
  5. public function _empty($name){
  6. //把所有(yǒu)城(chéng)市(shì)的(de)操✘♠作(zuò)解析到(dào)city方法
  7. $this->city($name);
  8. }
  9.  
  10. //注意 city方法 本身(shēn)是(shì™÷‍) protected 方法
  11. protected function city($name){
  12. //和(hé)$name這(zhè)個(gè)城(chéng)≤←市(shì)相(xiàng)關的(de)₩∏↔處理(lǐ)
  13. echo '當前城(chéng)市(shì)' . $name;
  14. }
  15. }

接下(xià)來(lái),我們就(jiù)可(kě♥$ε¥)以在浏覽器(qì)裡(lǐ)面輸入

  1. http://serverName/index.php/Home/City/bei β♣jing/
  2. http://serverName/index.php/Home/Cit↕‍✘y/shanghai/
  3. http://serverName/index.php/Home/C♦‌γσity/shenzhen/

由于City控制(zhì)器(qì)并沒有(yǒu)定義b‌​'∑eijing、shanghai或者shenzhen操作(zuò)方法,'♣>↕因此系統會(huì)定位到(dào)空(kōng)操作(zuò)方法 _empty中去(qù)解析,_empty方法的(de)參數(shù)就(jiù)是(sh¶&↕ì)當前URL裡(lǐ)面的(de)操作(zuò)名,因此會(huì)看(φ ₽kàn)到(dào)依次輸出的(de)結果是¥‍₽×(shì):

  1. 當前城(chéng)市(shì):beijing
  2. 當前城(chéng)市(shì):shanghai
  3. 當前城(chéng)市(shì):shenzhen

注意:空(kōng)操作(zuò)方法僅在你(nǐ)的(de)控制(zhì)≠λ↕→器(qì)類繼承系統的(de)Think\Contr★€→≥oller類才有(yǒu)效,否則需要(yào)自(zì)己‌"☆₽定義 __call 來(lái)實現(xiàn)。