天天看點

ThinkPHP學習(二)理清ThinkPHP的目錄結構及通路規則,建立第一個控制器

回顧上一篇的安裝目錄:

ThinkPHP學習(二)理清ThinkPHP的目錄結構及通路規則,建立第一個控制器

F:\\PHP

├─index.php 入口檔案

├─README.md README檔案

├─Application 應用目錄

├─Public 資源檔案目錄

└─ThinkPHP 架構目錄

thinkphp的目錄結構ThinkPHP的目錄結構非常清晰和容易部署。大緻的目錄結構如下,以項目為基礎進行部署。

┎━ThinkPHP架構系統目錄

┃┝ThinkPHP.php系統公共檔案

┃┝Common公共檔案目錄

┃┝Tpl架構系統模版目錄

┃┝Lang系統語言包目錄

┃┝PlugIns公共插件目錄

┃┗Lib系統基類庫目錄

┃┝Think系統運作庫(必須)

┃┝Com擴充類庫包(非必須)

┃┗ORG擴充類庫包(非必須)

┝━Application 應用目錄、項目目錄

┃┝index.php項目入口檔案(可任意放置)

┃┝Cache模版緩存目錄

┃┝Common公共檔案目錄(非必須)

┃┝Conf項目配置目錄

┃┝Data項目資料目錄

┃┝Html靜态檔案目錄(非必須)

┃┝PlugIns插件目錄(非必須)

┃┝Tpl模版檔案目錄

┃┝Lang語言包目錄(非必須)

┃┝Logs日志檔案目錄

┃┝Temp資料緩存目錄

┃┗Lib應用類庫目錄

┃┝Action控制器(子產品)類目錄

┃┝ModelModel類檔案目錄

┃…下面的應用目錄可根據需要選擇和定義

┃┝Exception異常類庫目錄

┃┝Common公共應用類目錄

┃┗Help助手類目錄

┃…更多項目目錄(和App目錄類似,每個項目采用獨立目錄,便于部署)

┝━Public網站公共目錄(多項目公用)

┃┝JsJS類庫目錄(建議)

┃┝Images公共圖像目錄(建議)

┃┗Uploads公共上傳目錄(建議)

我的“F:\PHP\Application”目錄下有個“home”目錄,這是ThinkPHP自動生成的一個控制器,

主要檔案是“F:\PHP\Application\Home\Controller\IndexController.class.php”,檔案内容如下:

在位址欄輸入“http://localhost/index.php”,回車,看到的内容,就是這個檔案中“Index”函數中的内容。

就“home”目錄下的控制器舉例,您可以通過以下URL位址通路:

http://localhost/index.php

http://localhost/index.php/Home

http://localhost/index.php/Home/Index

http://localhost/index.php/Home/Index/Index

在“F:\PHP\Application”目錄下建立一個目錄“Index”,偷個賴,把“F:\PHP\Application\Home”目錄下的内容都複制

到“F:\PHP\Application\Index”目錄下,打開“F:\PHP\Application\Index\Controller\IndexController.class.php”檔案,

為了确定通路的确實是我們新加的内容,在“Index”函數中添加點東西,代碼如下:

試試通過以下URL位址通路吧:

http://localhost/index.php/Index

http://localhost/index.php/Index/Index

http://localhost/index.php/Index/Index/Index

ThinkPHP的預設子產品名稱是“Home”,也就是說如果你在浏覽器位址欄中輸入“http://localhost/index.php”的話,預設通路的是“http://localhost/index.php/Home”。

修改方法:用文本編輯工具打開“F:\PHP\ThinkPHP\Conf\convention.php”檔案,

修改第44行為:'DEFAULT_MODULE' => 'Index', // 預設子產品

注意:應用的目錄隻能是首字母大寫後面全部小寫,使用“WorkOvertime”結果就出現無法加載控制器的情況!改為“Workovertime”之後,還需要關閉之前的視窗,重新打開一個浏覽器視窗通路才能正常!