【小(xiǎo)編推薦】ThinkPHP3.2——$☆ΩURL大(dà)小(xiǎo)寫

2014-06-26   | π ;  發布者:梁國(®≈guó)芳   | ≠λ;  查看(kàn):3320次

Thinkphp

系統默認的(de)規範是(shì)根據URL裡(lǐ)面$Ω∑§的(de)模塊名、控制(zhì)器(qì)名來(lái)定位& 到(dào)具體(tǐ)的(de)控制(zhì)器(qì)類的(de),從(c✔₽Ωóng)而執行(xíng)控制(zhì)器(qì)類的φ®≤★(de)操作(zuò)方法。

以URL訪問(wèn) http://serverName/index.php/Home/Index/≠☆♥'index 為(wèi)例,其實訪問(wèn)的(d ‌e)控制(zhì)器(qì)類文(wén)件(jiàn®×)是(shì):

  1. Application/Home/Controller/IndexController.class.php

如(rú)果是(shì)Windows環境,無論大(d↕☆£à)小(xiǎo)寫如(rú)何都(dōu)能(néng)定位到(dào€<')IndexController.class.php文(wén)件(jiàn),所以下(xià) ♠€面的(de)訪問(wèn)都(dōu)是(shì)有(yǒu)≥​效的(de):

  1. http://serverName/index.php/Home/I÷♠αndex/index
  2. http://serverName/index.php/Hom®£€$e/index/index
  3. http://serverName/index.php/home/index/i​≤≠ndex

如(rú)果在Linux環境下(xià)面,一(yī)旦大(d१)小(xiǎo)寫不(bù)一(yī)緻,就(jiù)會(huì)©φ™發生(shēng)URL裡(lǐ)面使用(y×♦òng)小(xiǎo)寫模塊名不(bù)能(néng)→↔φ找到(dào)模塊類的(de)情況。例如(rú)在Linux環境下(xià)面§₩,我們訪問(wèn) http://serverName/index.php/home↑≠/index/index 其實請(qǐng)求的(de)控制(zhì)器(qì)文( ✔♥☆wén)件(jiàn)是(shì)

  1. Application/home/Controller/indexController.class.php

因為(wèi),我們定義的(de)控制(zhì)器(qì)類是(shì)In¥¶dexController而不(bù)是(shì)indexContr≥ ‍oller(參考ThinkPHP的(de)命名規γ§"範),由于 Linux的(de)文(wén)件£‌★(jiàn)特性,其實是(shì)不(bù)存在index'≤✔Controller控制(zhì)器(qì)文(w‌₩♦én)件(jiàn)的(de),就(ji↑∏¶ù)會(huì)出現(xiàn)Index控制(zhì)器(qì)$$不(bù)存在的(de)錯(cuò)誤,這€γ↑↓(zhè)樣的(de)問(wèn)題會(huì)'≠₩造成用(yòng)戶體(tǐ)驗的(de)下(xià) 降。

但(dàn)是(shì)系統本身(shēn)提供了(le)一(yī)個€∑₹✔(gè)不(bù)區(qū)分(fēn)URL大(dà)小(xiǎ✘$™o)寫的(de)解決方案,可(kě)以通(t​λōng)過配置簡單實現(xiàn)。

隻要(yào)在項目配置中,增加:

  1. 'URL_CASE_INSENSITIVE' =>true

配置好(hǎo)後,即使是(shì)在Lin ©ux環境下(xià)面,也(yě)可(kě)×✔↔↔以實現(xiàn)URL訪問(wèn)不(bù)再區(♦ ​βqū)分(fēn)大(dà)小(xiǎo)寫了(leεσ)。

  1. http://serverName/index.php/Home/Index/ ≠₹Ωindex
  2. // 将等效于
  3. http://serverName/index.php/home/inβ÷ ×dex/index

這(zhè)裡(lǐ)需要(yào)注意一(yī)個(gπ ♠‌è)地(dì)方,一(yī)旦開(kāi)啓♦'了(le)不(bù)區(qū)分(fēn)URL大(dà) ∞小(xiǎo)寫後,如(rú)果我們要(yào)訪←≠問(wèn)類似UserTypeController的(​"< de)控制(zhì)器(qì),那(nà)麽正确α≠的(de)URL訪問(wèn)應該是(shì):

  1. // 正确的(de)訪問(wèn)地(dì)址
  2. http://serverName/index.php/home/use₩πr_type/index
  3. // 錯(cuò)誤的(de)訪問(wèn)地(₹©₽₹dì)址(linux環境下(xià))
  4. http://serverName/index.php/home/usertype/ ±™index

利用(yòng)系統提供的(de)U方法可(kě)以為(wèi)你(nǐ₹£λ)自(zì)動生(shēng)成相(xiàng)關的(de)U↑←RL地(dì)址。

如(rú)果設置

  1. 'URL_CASE_INSENSITIVE' =>false

的(de)話(huà),URL就(jiù)又(yòu)變成: http://serverName/ind≠ ex.php/Home/UserType/add

注意:URL不(bù)區(qū)分(fēn)大(dà)小(xiǎoπΩ)寫并不(bù)會(huì)改變系統的(de)命名規範,并且隻有($✘yǒu)按照(zhào)系統的(de)命名規範後才能(n "éng)正确的(de)實現(xiàn)URL不(bù)區 <(qū)分(fēn)大(dà)小(xiǎo)寫。