ThinkPHP快速入門
1、ThinkPHP自動生成
當我們部署完ThinkPHP框架后,其會自動生成Application文件夾,如下圖所示:
2、自動生成細節分析
問題1:Application從何而來?
答:Application文件夾是由入口文件中的APP_PATH常量決定的,其可以自動按照設定參數生成指定文件夾。
問題2:為什么常量的定義要載入文件載入之前呢?
答:因為在ThinkPHP.php入口文件中,其要對APP_PATH進行判斷,如果沒有這個問價夾就創建
問題3:ThinkPHP系統是如何自動生成Application這個項目目錄的呢?
答:由ThinkPHP.php入口文件中的start函數進行初始化生成的
3、Zend Studio代碼追蹤
在實際項目開發中,如果我們開發一個企業級框架,由於文件過多,很多找到我們需要跟蹤的代碼,這個時候可以在Zend軟件中,使用Ctrl+鼠標坐標點擊要追蹤的代碼或文件,系統會自動進行定位。
4、Application項目目錄詳解
Common:核心函數庫核心配置,優先級要高於ThinkPHP內置核心函數庫
Home:前台Home模塊,后面還可以實現Admin后台模塊
Runtime:運行時目錄,緩存文件、日志文件等等…
5、Home前台模塊分析
Common:核心函數庫,優先要高於Application以及ThinkPHP內置函數庫
模塊的優先級 > Application項目的優先級 > ThinkPHP內置優先級
Conf:核心配置文件,數據庫設置…
Controller:Home模塊的控制器
Model:Home模塊的模型
View:Home模塊的View視圖
index.html:基於安全考慮而引入的index文件,訪問外部訪問項目目錄結構
問題:為什么在新版ThinkPHP框架中的每一個文件夾下都有一個空的index.html文件呢?
答:當我們訪問某個文件夾時,如果其沒有默認入口文件,則使用Apache默認配置直接輸出整個目錄結構。所以為了解決這個問題,就引入了index.html
6、ThinkPHP配置文件分析
問題:為什么當我們訪問http://www.think.com 這個虛擬域名,系統會自動彈出以下界面,這個界面又存在哪里呢?
答:這個跳轉主要是由ThinkPHP核心配置文件決定的,如下圖所示:
打開后,找到如下代碼:
由此可知:當我們訪問虛擬域名時,那系統會自動轉向到系統的Home模塊下的Index控制器下的index操作方法。
運行鏈接如下圖所示:
特別說明:在我們實際項目開發中,經常會用到配置信息,但是我們不需要對其死記硬背,遇到配置信息時,直接到ThinkPHP/Conf/convention去復制編輯即可。
7、ThinkPHP入門案例-讀取數據庫中的信息並顯示
① 配置虛擬主機
② 配置hosts文件並重啟Apache服務器
③ 復制ThinkPHP核心目錄到項目文件夾中(如think)
④ 創建index.php入口文件並編輯代碼如下圖所示:
⑤ 通過瀏覽器,訪問虛擬域名,如下圖所示:
由於系統受到配置文件convention.php文件的影響,默認會訪問Home/Index控制器/index操作方法。
⑥ 更改index方法
1)鏈接數據庫
由於ThinkPHP中的程序都是預定義好的,我們鏈接數據庫只需要定義一個配置文件即可,在Home模塊下的Conf文件夾下的config.php文件中,添加以下參數(參數可以在convention.php中復制)
2)實例化模型(操作數據庫)
運行效果:
