ThinkPHP學習手記——環境搭建

懷着激動的心情打開了thinkPHP的文檔,開啓了第一次php框架學習。 php

下載 html

ThinkPHP最新版本能夠在官方網站(http://thinkphp.cn/down/framework.htmlgit

或者Github(https://github.com/liu21st/thinkphp/downloads)下載。
把下載後的壓縮文件解壓到你的WEB目錄(或者任何目錄均可以) github

建議下載完整版,這能夠再配置期間免去不少莫名其妙的麻煩 thinkphp

入口文件 瀏覽器

下面附上官網的內容 php框架

在開始以前,你須要一個Web服務器和PHP運行環境,若是你暫時尚未,咱們推薦使用集成開發環境WAMPServer(是一個集成了Apache、PHP和MySQL的開發套件,並且支持多個PHP版本、MySQL版本和Apache版本的切換)來使用ThinkPHP進行本地開發和測試。
接下來咱們先在WEB根目錄下面建立一個app子目錄(這個app就是咱們的項目名),而後在該目錄下面建立一個index.php文件,添加一行簡單的代碼:
服務器

require '/ThinkPHP框架所在目錄/ThinkPHP.php'; app

其實這個index.php無需本身建立,在下載包中已是有的了。 框架

單一項目

咱們就能夠直接經過http://localhost/訪問項目了。

多項目

若是想建立多個項目,你也能夠在Web根目錄下面建立多個子目錄來部署多個項目。每一個項目目錄裏包含一個入口文件。

建立project1文件夾

建立並打開入口文件(index.php

加入以下代碼

<?php

define('APP_DEBUG',true); //開啓調試模式

require('../ThinkPHP/ThinkPHP.php');

?>

在瀏覽器打開 http://localhost/project1/,即可以看到thinkphp的歡迎頁面了。

ThinkPHP運行流程

瀏覽器訪問 入口文件的時候 時,發生了什麼?think的執行流程是怎麼樣的?

(1)第一步:引入框架下的 thinkphp.php

thinkphp.php文件,定義了常量app_name和think_path(大寫),並引入runtime.php

(2)第二步,加載框架下的 Common/runtime.php文件

  • 再次定義了一些常量,具體見源碼;
  • 建立項目目錄結構,由build_app_dir()方法建立;
  • 若是app_dubug設置爲false,則把核心加載文件進行編譯。不然,刪除編譯文件,即項目下的~runtime.php文件;
  • 調用框架ThinkPHP下的 lib/core/Think.class.php 文件——>執行入口 Think::Start()。

(3)第三步,執行框架ThinkPHP下的 lib/core/Think.class.php 的start()方法

  • 接第二步,開始執行入口文件Think::Start()。包括聲明錯誤處理句柄、異常處理句柄,並聲明類的自動加載機制;
  • Think::buildApp(); //初始化app運行,即項目預編譯,加載項目的各類配置文件,大約有10個文件左右。
  • 加載完配置文件後,執行app::run

(4)第四步,執行框架下的 lib/core/App.class.php下的run方法

  • 執行app下init()靜態方法:分析url,得出調用哪一個控制器。
  • 執行app下exec靜態方法:根據計算出來的模型和方法,實例化該module,並執行action相應的方法。本實例找到的項目下 lib/action目錄下的 IndexAction.class.php,並執行index()方法。

 

通過了以上這麼多的步驟,咱們終因而看到了瀏覽器上顯示的 thinkphp歡迎頁面。

網站分享

官網:

http://www.thinkphp.cn/

API:

http://doc.thinkphp.cn/

論壇:

http://www.ithinkphp.com/

相關文章
相關標籤/搜索