ThinkPHP學習手記——環境搭建,thinkphp手記搭建
懷著激動的心情開啟了thinkPHP的文檔,開啟了第一次php架構學習。
下載
ThinkPHP最新版本可以在官方網站(http://thinkphp.cn/down/framework.html)
或者Github(https://github.com/liu21st/thinkphp/downloads)下載。
把下載後的壓縮檔解壓到你的WEB目錄(或者任何目錄都可以)
建議下載完整版,這可以再配置期間免去很多莫名其妙的麻煩
入口檔案
下面附上官網的內容
在開始之前,你需要一個Web伺服器和PHP運行環境,如果你暫時還沒有,我們推薦使用整合式開發環境WAMPServer(是一個整合了Apache、PHP和MySQL的開發套件,而且支援多個PHP版本、MySQL版本和Apache版本的切換)來使用ThinkPHP進行本地開發與測試。
接下來我們先在WEB根目錄下面建立一個app子目錄(這個app就是我們的項目名),然後在該目錄下面建立一個index.php檔案,添加一行簡單的代碼:
require '/ThinkPHP架構所在目錄/ThinkPHP.php';
其實這個index.php無需自己建立,在下載包中已經是有的了。
單一項目
我們就可以直接通過http://localhost/訪問項目了。
多項目
如果想建立多重專案,你也可以在Web根目錄下面建立多個子目錄來部署多重專案。每個項目目錄裡包含一個入口檔案。
建立project1檔案夾
建立並開啟入口檔案(index.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/
新人學習PHP,需要搭建PHP環境?
可以不需要,安裝整合套件吧,比如xampp,appserver,phpnow等
thinkphp開發用什整合式開發環境?我現在用的是eclipse,但是thinkphp的方法不可以自動定位
方法不能自動定位是啥意思
http://www.bkjia.com/PHPjc/902434.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/902434.htmlTechArticleThinkPHP學習手記——環境搭建,thinkphp手記搭建 懷著激動的心情開啟了thinkPHP的文檔,開啟了第一次php架構學習。 下載 ThinkPHP最新版本可以...