ThinkPHP筆記——URL結構與模塊分組


ThinkPHP的URL結構對初學者來說是一個很難理解的問題,比如同樣的一個頁面:

http://localhsot/index.php

我也可以使用  http://localhost/index.php/Index/index顯示出來。

  從這里來看能夠很好的拆解URL地址的含義對學號ThinkPHP尤為重要。下面看一下實例:

  我建立的ThinkPHP實例,在根目錄下創建項目home,並使用了Home和Admin模塊分組,實現了模塊的分組操作。

  基本的ThinkPHP URL訪問是這樣的:

  http://域名/項目名/分組名/模塊名/操作名/其他參數 

  比如我的域名就是  localhost;項目名沒有;分組名就是Home 或者Admin;模塊名就是Index;操作名就是IndexAction.class.php控制器中的某個函數。

  這里必須知道控制器、操作名、項目分組等含義。個人理解入口文件是每個頁面都需要的index.php;項目名就是這個入口文件建立的項目的名字;控制器就是項目文件夾中lib\action\文件夾中的類似IndexAction.class.php的類文件;操作名也是方法,就是控制器中的function方法名。

 


 

  寫控制器時需要注意控制器的命名規則:

  1、控制的文件名命名:  IndexAction.class.php  首字母大寫,加上  .class;

  2、類的定義: class IndexAction extends Action  類名和文件名師對應的(注意大寫),還需要繼承Action類

  3、控制器可以使用Private方式定義function,但是只能在該控制器中使用。

 

  空操作方法的定義:

  空操作方法的性質有點類似於GET或者POST提交輸出的方式,通過瀏覽器輸入的網址中的操作名來進行相應的操作(如果存在相應的操作即進行相關操作,如果不存在則進行空操作)

  

    public function _empty($name) {
$this->city($name);
}
protected function city($name) {
echo $name;
}



  知道了空操作,空模型就不用再多說什么也就很容易理解了。當用戶在地址欄輸入的地址中的控制器不存在時,就只直接導入到空模型中。 

<?PHP

class EmptyAction extends Action {
public function index(){
$cityname = MODULE_NAME;
$this->city($cityname);
}
private function city($cityname) {
echo $cityname;
}
}
?>



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM