ThinkPHP 3.2.3快速入門
【目錄列表】簡單一些大概內容如下:
- index.php文件的了解;
- 調試模式;
- 配置;
- 控制器;
- Url請求;
- 視圖;
- 讀取數。
- 學習參考資料: ThinkPHP3.2.3快速入門;
- 本內容屬于方便自己復習的以及得瑟的記錄。
- 建議學習方式: 大腦CPU無法超負荷運作,上帝倒是想給你靈感,問題是你給淌出休息的時間啊。
I 、入口文件index.php
首先是index.php(入口文件)的代碼內容:
<?php
/* 應用入口文件 */
// 檢測PHP環境
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');
// 開啟調試模式 建議開發階段開啟 部署階段注釋或者設為false
define('APP_DEBUG',True);
// 定義應用目錄
define('APP_PATH','./Application/');
// 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php';
// 親^_^ 后面不需要任何代碼了 就是如此簡單
ThinkPHP默認目錄結構: --+
Direcotry:
Application (應用目錄)
Public (資源目錄)
ThinkPHP (框架目錄)
Files:
.htaccess((略))
.composer.json (略)
ReadMe.md (略)
index.php (入口文件)
3.2版本開始相比之前的版本自帶了一個完整的應用目錄結構(Application)和默認的應用入口文件(index.php),開發人員可以在這個基礎之上靈活調整(目錄名稱和位置)。
其中,Application和Public目錄下面都是空的,而README.md和composer.josn文件僅用于說明,實際部署的時候可以刪除。
框架核心目錄的結構無需改變,但框架的目錄名稱(ThinkPHP)可以在應用入口文件中隨意更改。
3.2 版本開始框架自帶了一個應用入口文件,默認內容如下(可以參考上面的index.php):
// 代碼的作用就是定義應用目錄和加載ThinkPHP框架的入口文件,這是所有基于ThinkPHP開發應用的第一步。
define('APP_PATH','./Application/');
require './ThinkPHP/ThinkPHP.php';
先不要去管上面這些內容!打開瀏覽器 ```http://locahost/thinkphp/index.php`` ,會出現下面的內容:
忘記說了,之前Application是沒有任何內容的,當運行了在瀏覽器運行了index.php,Application就自動生成了一些內容:
Application
├─Common 應用公共模塊
│ ??├─Common??應用公共函數目錄
│ ??└─Conf????應用公共配置文件目錄
├─Home 默認生成的Home模塊
│ ??├─Conf????模塊配置文件目錄
│ ??├─Common ? 模塊函數公共目錄
│ ??├─Controller ? 模塊控制器目錄
│ ??├─Model???模塊模型目錄
│ ??└─View????模塊視圖文件目錄
├─Runtime 運行時目錄
│ ??├─Cache????模版緩存目錄
│ ??├─Data ???? 數據目錄
│ ??├─Logs ???? 日志目錄
│ ??└─Temp????緩存目錄模塊設計
- 由于采用多層的MVC機制,除了Conf和Common目錄外,每個模塊下面的目錄結構可以根據需要靈活設置和添加,所以并不拘泥于上面展現的目錄。
如果我要添加新的模塊,有沒有快速生成模塊目錄結構的辦法呢?只需要在入口文件中添加如下定義(假設要生成Admin模塊):
define('APP_PATH','./Application/'); //綁定入口文件到Admin模塊訪問
define('BIND_MODULE','Admin');//如果有需要請將代碼注釋掉,具體理由見下2注意。
require './ThinkPHP/ThinkPHP.php'
- BIND_MODULE常量定義表示綁定入口文件到某個模塊,由于并不存在Admin模塊,所以會在第一次訪問的時候自動生成。重新訪問入口文件后,就會再次看到歡迎頁面,這個時候在Application下面已經自動生成了Admin模塊及其目錄結構。
- 注意:生成以后,你需要刪除(或者注釋掉)剛才添加的那段常量定義才能正常訪問Home模塊,否則就只能訪問Admin模塊(因為應用入口中已經綁定了Admin模塊)。
有些情況下,我們需要更改應用目錄、運行時目錄和框架的位置,那么可以修改入口文件如下:
define('APP_PATH','./Apps/'); //定義應用目錄
define('RUNTIME_PATH','./Runtime/'); //定義運行時目錄
require './Think/ThinkPHP.php'; //更名框架目錄名稱,并載入框架入口文件
以及該段代碼產生的效果:
WWW WEB部署目錄(或者子目錄)
├─index.php ? 應用入口文件
├─Apps????應用目錄
├─Public ??? 資源文件目錄
├─Runtime ?? 運行時目錄
└─Think????框架目錄
II、調試模式 :
ThinkPHP支持調試模式,默認情況下是運行在部署模式下面。部署模式下面性能優先,并且盡可能少地拋出錯誤信息,調試模式則以除錯方便優先,關閉任何緩存,而且盡可能多的拋出錯誤信息,所以對性能有一定的影響。
部署模式采用了項目編譯機制,第一次運行會對核心和項目相關文件進行編譯緩存,由于編譯后會影響開發過程中對配置文件、函數文件和數據庫修改的生效(除非你修改后手動清空Runtime下面的緩存文件)。因此為了避免以上問題,我們強烈建議新手在使用ThinkPHP開發的過程中使用調試模式,這樣可以更好的獲取錯誤提示和避免一些不必要的問題和煩惱。
開啟調試模式很簡單,我們只需要在入口文件(index.php)的開頭加上一行常量定義代碼:
define('APP_DEBUG', true); // 開啟調試模式
define('APP_PATH','./Application/');
require './ThinkPHP/ThinkPHP.php';
1). 開發完成后,我們實際進行項目部署的時候,刪除這行常量定義代碼即可,或者改成:define('APP_DEBUG', false);
。
2). 為了安全考慮,避免泄露你的服務器WEB目錄信息等資料,一定記得正式部署的時候關閉調試模式。