ThinkPHP學習(二)理清ThinkPHP的目錄結構及訪問規則,建立第一個控制器
上一篇:ThinkPHP學習(一) Windows下Nginx+PHP5+ThinkPHP_3.2.1的安裝與配置
ThinkPHP的目錄結構
回顧上一篇的安裝目錄:
目錄對應關係
F:\PHP
├─index.php 入口檔案
├─README.md README檔案
├─Application 應用目錄
├─Public 資原始檔目錄
└─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:PHPApplication”目錄下有個“home”目錄,這是ThinkPHP自動生成的一個控制器,
主要檔案是“F:PHPApplicationHomeControllerIndexController.class.php”,檔案內容如下:
<?php // 本類由系統自動生成,僅供測試用途 namespace HomeController; use ThinkController; class IndexController extends Controller { public function Index(){ $this->show(`<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微軟雅黑"; color: #333;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px }</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>歡迎使用 <b>ThinkPHP</b>!</p></div><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script>`,`utf-8`); } }
在位址列輸入“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:PHPApplication”目錄下新建一個目錄“Index”,偷個賴,把“F:PHPApplicationHome”目錄下的內容都複製
到“F:PHPApplicationIndex”目錄下,開啟“F:PHPApplicationIndexControllerIndexController.class.php”檔案,
為了確定訪問的確實是我們新加的內容,在“Index”函式中新增點東西,程式碼如下:
<?php namespace IndexController; use ThinkController; class IndexController extends Controller { public function index(){ $this->show(`//phpinfo();<br>`); $this->show(`<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微軟雅黑"; color: #333;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px }</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>歡迎使用 <b>ThinkPHP aaaa</b>!</p></div><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script>`,`utf-8`); $this->show(`function index()<br>`); } }
試試通過以下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:PHPThinkPHPConfconvention.php”檔案,
修改第44行為:`DEFAULT_MODULE` => `Index`, // 預設模組
注意:應用的目錄只能是首字母大寫後面全部小寫,使用“WorkOvertime”結果就出現無法載入控制器的情況!改為“Workovertime”之後,還需要關閉之前的視窗,重新開啟一個瀏覽器視窗訪問才能正常!
下一篇:ThinkPHP學習(三)配置PHP5支援MySQL,連線MySQL資料庫
相關文章
- ThinkPHP5.0目錄結構PHP
- ThinkPHP3.2.2學習記錄PHP
- thinkphp 偽靜態規則PHP
- ThinkPhP 框架學習PHP框架
- ThinkPhp學習02PHP
- ThinkPhp學習13PHP
- 學習ThinkPHP,學習OneThinkPHP
- Linux之旅第一篇-目錄結構及操作目錄Linux
- ThinkPHP修改專案結構PHP
- Linux學習——2 目錄結構Linux
- Laravel 配置二級目錄訪問Laravel
- thinkphp 5自動生成模組目錄的兩種方式PHP
- 8.6 規劃合理的目錄結構
- ThinkPHP原始碼閱讀1——-訪問流程PHP原始碼
- Linux 學習筆記--目錄結構及檔案基本操作Linux筆記
- 2.3 sqlmap目錄及結構SQL
- 如何實現多層目錄下訪問控制器
- 分類目錄 網址收藏網站 Thinkphp + Bootstrap 練習做的專案網站PHPboot
- 目錄結構檢視及目錄下各個檔案的大小的統計
- [總結]學習目錄
- Linux學習第二道坎——系統目錄結構及其作用Linux
- 安卓學習筆記---開篇(目錄結構)安卓筆記
- ThinkPHP學習(一) Windows下Nginx+PHP5+ThinkPHP_3.2.1的安裝與配置PHPWindowsNginx
- ThinkPHP 訪問路徑隱藏 index.php 問題PHPIndex
- thinkphp3.2.3原始碼學習(1)PHP原始碼
- thinkphp3.2.3原始碼學習(3)PHP原始碼
- Thinkphp5基礎——08 控制器PHP
- Laravel8學習筆記01 - 目錄結構Laravel筆記
- Linux學習(三)之系統目錄結構Linux
- Symfony2學習筆記之目錄結構筆記
- thinkphp session 管理函式的一個問題PHPSession函式
- thinkphp6 檢視問題總結PHP
- thinkphp 設定執行目錄為/public後 404錯誤PHP
- LayaAir引擎學習日誌4----建立JS專案並詳解目錄結構AIJS
- thinkphp6 強制路由不生效問題 以及Url路由去掉應用目錄PHP路由
- thinkphp學習筆記4—眼花繚亂的配置PHP筆記
- 學習thinkphp,自己寫的通用網站後臺PHP網站
- Maven專案目錄結構與自動建立maven目錄Maven