test(這個僅僅只是測試文檔)

ThinkPHP 3.2.3快速入門

【目錄列表】簡單一些大概內容如下:

  1. index.php文件的了解;
  2. 調試模式;
  3. 配置;
  4. 控制器;
  5. Url請求;
  6. 視圖;
  7. 讀取數
  • 學習參考資料: 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`` ,會出現下面的內容:

hello.png

忘記說了,之前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'
  1. BIND_MODULE常量定義表示綁定入口文件到某個模塊,由于并不存在Admin模塊,所以會在第一次訪問的時候自動生成。重新訪問入口文件后,就會再次看到歡迎頁面,這個時候在Application下面已經自動生成了Admin模塊及其目錄結構。
  2. 注意:生成以后,你需要刪除(或者注釋掉)剛才添加的那段常量定義才能正常訪問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目錄信息等資料,一定記得正式部署的時候關閉調試模式。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,993評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,573評論 25 708
  • 轉載自cr180大神DiscuzX2.5完整目錄結構【source程序文件庫】 /source/admincp后臺...
    cndaqiang閱讀 889評論 1 2
  • 我習慣把書分成三檔:力薦、推薦和一般。(豆瓣粉) 力薦:值得反復讀。書的整體水平上乘,并且有一部分特別打動我。 推...
    findingsea閱讀 302評論 0 5
  • 未來只屬于一小部分人: 昨天俞老師說人類處于前所未有的變革中,科技的發展超乎想象,AI和自動化會讓我們迎來一...
    燕coco閱讀 292評論 0 2