ThinkPHP框架基礎(chǔ)(一)


文章目錄
一、 簡(jiǎn)介
二、下載地址
三、Comoser安裝更新 / Git下載更新
四、LAMP環(huán)境搭建
五、目錄結(jié)構(gòu)
六、入口文件
七、調(diào)試模式


一、簡(jiǎn)介

ThinkPHP 是一個(gè)快速、簡(jiǎn)單的基于 MVC 和面向?qū)ο蟮妮p量級(jí) PHP 開(kāi)發(fā)框架,遵循 Apache2 開(kāi)源協(xié)議發(fā)布,一直秉承簡(jiǎn)潔實(shí)用的設(shè)計(jì)原則,在保持出色的性能和至簡(jiǎn)的代碼的同時(shí),尤其注重開(kāi)發(fā)體驗(yàn)和易用性,為 WEB 應(yīng)用和 API 開(kāi)發(fā)提供了強(qiáng)有力的支持。

ThinkPHP5.0(以下簡(jiǎn)稱(chēng)TP5) 版本是一個(gè)顛覆和重構(gòu)版本,也是ThinkPHP 十周年獻(xiàn)禮版本,基于 PHP5.4 設(shè)計(jì)(完美支持 PHP7 ),采用全新的架構(gòu)思想,引入了很多的 PHP 新特性,優(yōu)化了核心,減少了依賴(lài),支持Composer ,實(shí)現(xiàn)了真正的惰性加載,并且為 API 開(kāi)發(fā)做了深入的支持,在功能、性能以及靈活性方面都較為突出


二、下載地址

官方下載地址:http://www.thinkphp.cn/down.html
【Github】
應(yīng)用框架:https://github.com/top-think/think
核心框架:https://github.com/top-think/framework
【碼云】
應(yīng)用框架:https://git.oschina.net/liu21st/thinkphp5.git
核心框架:https://git.oschina.net/liu21st/framework.git
【Coding】
應(yīng)用框架:https://git.coding.net/liu21st/thinkphp5.git
核心框架:https://git.coding.net/liu21st/framework.git


三、Comoser安裝更新 / Git下載更新

TP的穩(wěn)定版可以在官網(wǎng)下載,官方網(wǎng)站的下載版不是實(shí)時(shí)更新的,如果需要實(shí)時(shí)更新就需要使用Composer或Git安裝。

Composer安裝更新:

  • Windows平臺(tái)直接下載安裝:Composer-Setup.exe

  • Linux/Mac可以運(yùn)行以下命令:

curl -sS https://getcomposer.org/installer | php 
mv composer.phar /usr/local/bin/composer

或者

apt install composer
  • 安裝完成后切換到你的Web根目錄下(默認(rèn)是/var/www/)執(zhí)行以下命令,創(chuàng)建TP5項(xiàng)目:
composer create-project topthink/think tp5 --prefer-dist
  • 更新框架到最新版本:
composer update

tips:
Composer安裝出現(xiàn)問(wèn)題可參考:Composer中文文檔 文檔有些錯(cuò)誤
composer下載速度慢使用命令切換國(guó)內(nèi)鏡像:composer config -g repo.packagist composer https://packagist.phpcomposer.com
apt 下載速度慢請(qǐng)切換國(guó)內(nèi)鏡像。
git clone到本地速度慢可以添加host映射,或者使用VPN。

Git下載更新

還沒(méi)有安裝Git可以參考我寫(xiě)的Git基礎(chǔ)

安裝完成后,先將項(xiàng)目克隆到本地:

git clone https://github.com/top-think/think tp5

然后切換到tp5目錄下克隆核心框架倉(cāng)庫(kù):

git clone https://github.com/top-think/framework thinkphp

需要更新核心框架時(shí),切換到thinkphp核心目錄下,執(zhí)行以下命令即可:

git pull https://github.com/top-think/framework
操作如圖

四、LAMP運(yùn)行環(huán)境搭建

基于Ubuntu的LAMP環(huán)境搭建。
mysql安裝:

sudo apt-get install mysql-server   然后輸入管理員密碼 選擇Y

安裝過(guò)程中會(huì)出現(xiàn)提示設(shè)置mysql管理員密碼:


安裝完成后輸入命令查看,顯示箭頭的端口即表示安裝成:

sudo netstat -tap | grep mysql
mysql安裝成功

Apache安裝:

sudo apt-get install apache2   輸入管理員密碼 并選擇Y

在瀏覽器中輸入127.0.0.1檢測(cè)Apache是否安裝成功:

Apache安裝成功

php7安裝:

sudo apt-get install php7.0 libapache2-mod-php7.0

使用命令php7.0 -v查看php版本:

查看php版本

到此LAMP環(huán)境搭建完成,讓我們寫(xiě)個(gè)腳本來(lái)測(cè)試apache是否能解析php文件:

sudo gedit /var/www/html/phpinfo.php

輸入代碼,保存退出:

<?php
        phpinfo();
?>

使用瀏覽器訪問(wèn)http://127.0.0.1/phpinfo.php:

解析成功

為了方便管理mysql還可以安裝phpmyadmin:

sudo apt-get install phpmyadmin 

在安裝過(guò)程中會(huì)要求選擇Web server:apache2或lighttpd,使用空格鍵選定apache2,按tab鍵然后確定。然后會(huì)要求輸入設(shè)置的Mysql數(shù)據(jù)庫(kù)密碼連接密碼。
然后讓phpmyadmin與apache2建立連接,以我的為例:www目錄在/var/www,phpmyadmin在/etc/phpmyadmin目錄,所以就用命令:

sudo ln -s /etc/phpmyadmin /var/www 

五、目錄結(jié)構(gòu)

安裝完后目錄結(jié)構(gòu)如圖所示,Linux環(huán)境下目錄需要755權(quán)限sudo chmod 755 -R /var/www/

TP5目錄結(jié)構(gòu)

目錄說(shuō)明
幾個(gè)關(guān)鍵的路徑:

tp5        項(xiàng)目根目錄      ROOT_PATH
tp5/application   應(yīng)用目錄       APP_PATH
tp5/thinkphp    框架核心目錄     THINK_PATH
tp5/extend    應(yīng)用擴(kuò)展目錄     EXTEND_PATH
tp5/vendor    Composer擴(kuò)展目錄  VENDOR_PATH

thinkphp5框架目錄:

 tp5
├─application                //應(yīng)用目錄
├─extend                     //擴(kuò)展類(lèi)庫(kù)目錄(可定義)
├─public                     //網(wǎng)站對(duì)外訪問(wèn)目錄
├─runtime                    //運(yùn)行時(shí)目錄(可定義)
├─vendor                     //第三方類(lèi)庫(kù)目錄(Composer)
├─thinkphp                   //框架核心目錄
├─build.php                  //自動(dòng)生成定義文件(參考)
├─composer.json              //Composer定義文件
├─LICENSE.txt                //授權(quán)說(shuō)明文件
├─README.md                  //README 文件
├─think                      //命令行工具入口

核心框架目錄結(jié)構(gòu):

├─thinkphp                   //框架系統(tǒng)目錄
│ ├─lang                     //語(yǔ)言包目錄
│ ├─library                  //框架核心類(lèi)庫(kù)目錄
│ │ ├─think think            //類(lèi)庫(kù)包目錄
│ │ └─traits                 //系統(tǒng) traits 目錄
│ ├─tpl                      //系統(tǒng)模板目錄
│ ├─.htaccess                //用于 apache 的重寫(xiě)
│ ├─.travis.yml              //CI 定義文件
│ ├─base.php                 //框架基礎(chǔ)文件
│ ├─composer.json            //composer 定義文件
│ ├─console.php              //控制臺(tái)入口文件
│ ├─convention.php           //慣例配置文件
│ ├─helper.php               //助手函數(shù)文件(可選)
│ ├─LICENSE.txt              //授權(quán)說(shuō)明文件
│ ├─phpunit.xml              //單元測(cè)試配置文件
│ ├─README.md                //README 文件
│ └─start.php                //框架引導(dǎo)文件

六、入口文件

TP5默認(rèn)的入口文件位于public/index.php(實(shí)際部署時(shí)public為應(yīng)用對(duì)外訪問(wèn)目錄),入口文件包含以下幾行代碼:

// 定義應(yīng)用目錄
define('APP_PATH', __DIR__ . '/../application/');
// 加載框架引導(dǎo)文件
require __DIR__ . '/../thinkphp/start.php';

這段代碼用于定義應(yīng)用目錄APP_PATHThinkPHP框架入口。
通過(guò)瀏覽器訪問(wèn)入口文件:

http://localhost/tp5/public/

我們會(huì)進(jìn)入歡迎界面:


歡迎界面

七、調(diào)試模式

ThinkPHP調(diào)試模式是默認(rèn)開(kāi)啟的,對(duì)性能有一定影響,在實(shí)際部署項(xiàng)目時(shí),可以修改配置文件(配置文件目錄:application/config.php)中的app_debug配置參數(shù):

//關(guān)閉調(diào)試模式
'app_debug' => false,

2017-4-11

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,321評(píng)論 6 543
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,559評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 178,442評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,835評(píng)論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,581評(píng)論 6 412
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,922評(píng)論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,931評(píng)論 3 447
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 43,096評(píng)論 0 290
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,639評(píng)論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,374評(píng)論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,591評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,104評(píng)論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,789評(píng)論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 35,196評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 36,524評(píng)論 1 295
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,322評(píng)論 3 400
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,554評(píng)論 2 379

推薦閱讀更多精彩內(nèi)容

  • 理工寢室商店-微信小程序 疑問(wèn)小結(jié) 當(dāng)時(shí)在XAMMP下mysql目錄下的bin下 php -v 不起作用.到ph...
    這個(gè)超人不會(huì)飛阿閱讀 1,725評(píng)論 1 1
  • 前言 ThinkPHP(簡(jiǎn)稱(chēng)TP)是國(guó)人開(kāi)發(fā)的比較火的php web框架,除了TP還有YII、Laravel等 T...
    hualinux閱讀 972評(píng)論 0 2
  • php框架 TP3.2框架 laravel框架 Yii框架 TP5.0框架 thinkphp框架簡(jiǎn)介 免費(fèi)開(kāi)源 T...
    kangshuaibo閱讀 1,809評(píng)論 0 0
  • 3.2版本已經(jīng)過(guò)了維護(hù)生命周期,官方已經(jīng)不再維護(hù),請(qǐng)及時(shí)更新至5.0版本—— ThinkPHP 官方倉(cāng)庫(kù) 以上,如...
    Helperhaps閱讀 4,784評(píng)論 1 17
  • 上午翻老照片,突然就看到這幾張,瞬間眼里澀澀的:這是我養(yǎng)了10幾年的狗狗,如珠如玉的寶貝著!它是我家的成員,我們以...
    溪媽_96c2閱讀 402評(píng)論 4 3