我們用PhpStorm打開(kāi)上篇文章《ThinkPHP初學(xué)者:Win下的開(kāi)發(fā)環(huán)境搭建》解壓后的目錄留攒,這里有幾個(gè)文件結(jié)構(gòu)我們需要了解一下煤惩,才能方便我們寫(xiě)代碼。啟動(dòng)PhpStorm炼邀,一開(kāi)始的界面是這樣的:
因?yàn)榇a已經(jīng)解壓好了魄揉,直接點(diǎn)擊open->選擇到thinkphp_3.2.3_full目錄,點(diǎn)擊OK拭宁,項(xiàng)目就被打開(kāi)了:
打開(kāi)以后左側(cè)視圖就是工作的目錄結(jié)構(gòu)洛退,接下來(lái)要分析一下這個(gè)目錄都是干什么的。
無(wú)論我們學(xué)習(xí)哪門(mén)語(yǔ)言杰标,它總會(huì)有一個(gè)入口文件兵怯,在ThinkPHP(以下簡(jiǎn)稱(chēng)TP)中,入口文件就是根目錄下的這個(gè)index.php腔剂。我們打開(kāi)這個(gè)文件媒区,可以看到有非常詳細(xì)的注釋?zhuān)疫€是地道的中文簡(jiǎn)體版。
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
// 應(yīng)用入口文件
// 檢測(cè)PHP環(huán)境
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !');
// 開(kāi)啟調(diào)試模式 建議開(kāi)發(fā)階段開(kāi)啟 部署階段注釋或者設(shè)為false
define('APP_DEBUG',True);
// 定義應(yīng)用目錄
define('APP_PATH','./Application/');
// 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php';
// 親^_^ 后面不需要任何代碼了 就是如此簡(jiǎn)單
以上代碼主要完成了這幾樣工作:配置支持的PHP版本掸犬,允許調(diào)試袜漩,定義應(yīng)用的目錄以及引入TP框架的支持。一般情況下這個(gè)文件是不需要改的湾碎,它已經(jīng)滿(mǎn)足了我們學(xué)習(xí)時(shí)的需求了噪服。注意這里的應(yīng)用目錄,對(duì)應(yīng)的就是我們的 \Application\ 目錄胜茧,如果我們想要改這個(gè)文件夾的名稱(chēng)粘优,需要把這兩處一起改掉。
接下來(lái)有三個(gè)大的文件夾呻顽,Application雹顺,Public,ThinkPHP嬉愧。相信大家都想得到喉前,ThinkPHP中存放的就是TP框架的源碼王财,所以這個(gè)文件夾是不需要我們動(dòng)的裕便。所以我們的重點(diǎn)應(yīng)該關(guān)注在前兩個(gè)目錄,首先看下Application這個(gè)目錄挂疆,這里是我們寫(xiě)PHP代碼的地方下翎,所有后臺(tái)相關(guān)的工作都可以在這里完成。在初次運(yùn)行后胆萧,文件目錄類(lèi)似于這樣(如果你的文件目錄和這里不同俐东,請(qǐng)參考上篇文章進(jìn)行TP的初始化):
可以看到犬性,Application底下又分成了 Common,Home乒裆,Runtime 三個(gè)目錄。Common目錄主要是存放一些全局的配置和一些全局的代碼用的肉迫,比如我們配置數(shù)據(jù)庫(kù)就在\Common\Conf\這個(gè)目錄下完成喊衫,寫(xiě)一個(gè)全局都能用的函數(shù)就放在\Common\Common\這個(gè)目錄下杆怕。
Home目錄是我們?yōu)榍芭_(tái)應(yīng)用所寫(xiě)的后端代碼,所謂前臺(tái)應(yīng)用就是指與Web或者移動(dòng)終端進(jìn)行交互陵珍,為其提供接口或者頁(yè)面跳轉(zhuǎn)的。對(duì)應(yīng)的瑟幕,有前臺(tái)就有后臺(tái),后臺(tái)應(yīng)用指的是給管理人員使用的管理系統(tǒng)辣往,比如人力資源管理系統(tǒng)等殖卑,可以在Application目錄下創(chuàng)建Admin目錄存放相關(guān)的代碼。Home目錄底下也有一個(gè)Common和Conf文件夾钻哩,這里配置的就不是全局有效的了肛冶,僅在Home目錄中生效扯键。除去這兩個(gè)目錄,還有三個(gè)意圖非常明顯的目錄馅笙,看到Model厉亏、View、Controller皿淋,自然聯(lián)想到了MVC模式恬试,沒(méi)錯(cuò),就是后臺(tái)開(kāi)發(fā)中使用最普遍的MVC模式哑舒,TP是完美支持MVC的洗鸵。雖然TP聲明說(shuō)不拘泥于這種結(jié)構(gòu)仗嗦,但我們最好還是遵循這樣的模式,便于理解儒将,如果項(xiàng)目需要交接也很方便。
Runtime目錄是默認(rèn)運(yùn)行時(shí)緩存蹈矮,輸出日志等文件存放的地方鸣驱,現(xiàn)在我們還不需要關(guān)注這個(gè)目錄,讓它保持默認(rèn)就好了北滥。
除了Application闸翅,還有一個(gè)目錄,是存放資源的地方济赎,就是Public记某。我們把項(xiàng)目中用到的圖片、文件壳猜、css统扳、js等都放在這里譬涡。資源也分為前臺(tái)和后臺(tái)涡匀,和Application里的Home與Admin一一對(duì)應(yīng)。常見(jiàn)的Public目錄如下所示:
當(dāng)然腕够,放在這里只是推薦帚湘,為不同的文件分別創(chuàng)建目錄可以使項(xiàng)目更清晰,我們大可以直接在Application目錄下放置這些文件大诸,只是體驗(yàn)不太好而已资柔。做完以上這些準(zhǔn)備工作后,我們就可以開(kāi)始正式寫(xiě)代碼了贿堰。