[TOC]
*****
# 安裝ThinkPHP
## 環境要求
`ThinkPHP5`的環境要求如下:
>[info] * PHP >= 5.4.0
> * PDO PHP Extension
> * MBstring PHP Extension
> * CURL PHP Extension
嚴格來說,`ThinkPHP`無需安裝過程,這里所說的安裝其實就是把`ThinkPHP`框架放入`WEB`運行環境(**前提是你的WEB運行環境已經OK**),可以通過下面幾種方式獲取和安裝ThinkPHP。
## 官網下載安裝
獲取`ThinkPHP`的方式很多,官方網站([http://thinkphp.cn](http://thinkphp.cn/))提供了[穩定版本](http://thinkphp.cn/down/framework.html)或者帶擴展完整版本的下載。
>[danger] 官網的下載版本不一定是最新版本,GIT版本獲取的才是保持更新的版本。
## Composer安裝
`ThinkPHP5`支持使用`Composer`安裝,如果還沒有安裝`Composer`,你可以按?[Composer安裝](http://www.hmoore.net/thinkphp/composer/35669)?中的方法安裝。在`Linux`和`Mac OS X`中可以運行如下命令:
~~~
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
~~~
在 Windows 中,你需要下載并運行?[Composer-Setup.exe](https://getcomposer.org/Composer-Setup.exe)。
如果遇到任何問題或者想更深入地學習 Composer,請參考?[Composer 文檔(英文)](https://getcomposer.org/doc/),[Composer 中文](http://www.hmoore.net/thinkphp/composer)。
如果你已經安裝有`Composer`請確保使用的是最新版本,你可以用?`composer self-update`?命令更新`Composer`為最新版本。
為了避免安裝過慢,可以使用阿里云的`composer`鏡像
~~~
composer config -g repo.packagist composer https://packagist.phpcomposer.com
~~~
然后在命令行下面,切換到你的web根目錄下面并執行下面的命令:
~~~
composer create-project topthink/think=5.0.* tp5 --prefer-dist
~~~
表示安裝最新的5.0版本。
如果出現錯誤提示,請根據提示操作或者參考[Composer中文文檔](http://www.hmoore.net/thinkphp/composer)。
>[danger] 如果國內訪問`composer`的速度比較慢,可以參考這里的說明[使用國內鏡像](https://pkg.phpcomposer.com/)
## Git安裝
如果你不太了解`Composer`或者覺得`Composer`太慢,也可以使用`git`版本庫安裝和更新,`ThinkPHP5.0`拆分為多個倉庫,主要包括:
* 應用項目:`https://github.com/top-think/think`
* 核心框架:`https://github.com/top-think/framework`
如果你訪問github速度比較慢,可以考慮下面兩個國內GIT倉庫:
### 碼云
* 應用項目:`https://gitee.com/liu21st/thinkphp5`
* 核心框架:`https://gitee.com/liu21st/framework.git`
### Coding
* 應用項目:`https://git.coding.net/liu21st/thinkphp5.git`
* 核心框架:`https://git.coding.net/liu21st/framework.git`
>[info] 之所以設計為應用和核心倉庫分離,是為了支持`Composer`單獨更新核心框架。
首先克隆下載應用項目倉庫
~~~
git clone https://github.com/top-think/think tp5
~~~
然后切換到`tp5`目錄下面,再克隆核心框架倉庫:
~~~
git clone https://github.com/top-think/framework thinkphp
~~~
>[danger] 由于目前倉庫默認分支還不是`5.0`版本,你需要切換到`master`分支(首先進入thinkphp目錄后執行下面的命令)
> ~~~
> git checkout master
> ~~~
兩個倉庫克隆完成后,就完成了`ThinkPHP5.0`的`Git`方式下載,如果需要更新核心框架的時候,只需要切換到thinkphp核心目錄下面,然后執行:
~~~
git pull https://github.com/top-think/framework
~~~
>[info] 如果不熟悉`git`命令行,可以使用任何一個GIT客戶端進行操作,在此不再詳細說明。
無論你采用什么方式獲取的`ThinkPHP`框架,現在只需要做最后一步來驗證是否正常運行。
在瀏覽器中輸入地址:
~~~
http://localhost/tp5/public/
~~~
如果瀏覽器輸出如圖所示:

恭喜你,現在已經完成`ThinkPHP5`的安裝!
>[info] 如果是mac或者linux環境,請確保`runtime`目錄有可寫權限
如果你無法正常運行并顯示`ThinkPHP`的歡迎頁面,那么請檢查下你的服務器環境:
> * PHP`5.4`以上版本(**注意:PHP5.4dev版本和PHP6均不支持**)
> * WEB服務器是否正常啟動
*****
# 命名規范
`ThinkPHP5`遵循`PSR-2`命名規范和`PSR-4`自動加載規范,并且注意如下規范:
## 目錄和文件
* 目錄使用小寫+下劃線;
* 類庫、函數文件統一以`.php`為后綴;
* 類的文件名均以命名空間定義,并且命名空間的路徑和類庫文件所在路徑一致;
* 類文件采用駝峰法命名(首字母大寫),其它文件采用小寫+下劃線命名;
* 類名和類文件名保持一致,統一采用駝峰法命名(首字母大寫);
## 函數和類、屬性命名
* 類的命名采用駝峰法(首字母大寫),例如`User`、`UserType`,默認不需要添加后綴,例如`UserController`應該直接命名為`User`;
* 函數的命名使用小寫字母和下劃線(小寫字母開頭)的方式,例如`get_client_ip`;
* 方法的命名使用駝峰法(首字母小寫),例如`getUserName`;
* 屬性的命名使用駝峰法(首字母小寫),例如`tableName`、`instance`;
* 以雙下劃線“\_\_”打頭的函數或方法作為魔術方法,例如`__call`和`__autoload`;
## 常量和配置
* 常量以大寫字母和下劃線命名,例如`APP_PATH`和`THINK_PATH`;
* 配置參數以小寫字母和下劃線命名,例如`url_route_on`和`url_convert`;
## 數據表和字段
* 數據表和字段采用小寫加下劃線方式命名,并注意字段名不要以下劃線開頭,例如`think_user`表和`user_name`字段,不建議使用駝峰和中文作為數據表字段命名。
## 應用類庫命名空間規范
應用類庫的根命名空間統一為app(不建議更改,可以設置`app_namespace`配置參數更改,`V5.0.8`版本開始使用`APP_NAMESPACE`常量定義);
例如:`app\index\controller\Index`和`app\index\model\User`。
#目錄結構
下載最新版框架后,解壓縮到web目錄下面,可以看到初始的目錄結構如下:
~~~
project 應用部署目錄
├─application 應用目錄(可設置)
│ ├─common 公共模塊目錄(可更改)
│ ├─index 模塊目錄(可更改)
│ │ ├─config.php 模塊配置文件
│ │ ├─common.php 模塊函數文件
│ │ ├─controller 控制器目錄
│ │ ├─model 模型目錄
│ │ ├─view 視圖目錄
│ │ └─ ... 更多類庫目錄
│ ├─command.php 命令行工具配置文件
│ ├─common.php 應用公共(函數)文件
│ ├─config.php 應用(公共)配置文件
│ ├─database.php 數據庫配置文件
│ ├─tags.php 應用行為擴展定義文件
│ └─route.php 路由配置文件
├─extend 擴展類庫目錄(可定義)
├─public WEB 部署目錄(對外訪問目錄)
│ ├─static 靜態資源存放目錄(css,js,image)
│ ├─index.php 應用入口文件
│ ├─router.php 快速測試文件
│ └─.htaccess 用于 apache 的重寫
├─runtime 應用的運行時目錄(可寫,可設置)
├─vendor 第三方類庫目錄(Composer)
├─thinkphp 框架系統目錄
│ ├─lang 語言包目錄
│ ├─library 框架核心類庫目錄
│ │ ├─think Think 類庫包目錄
│ │ └─traits 系統 Traits 目錄
│ ├─tpl 系統模板目錄
│ ├─.htaccess 用于 apache 的重寫
│ ├─.travis.yml CI 定義文件
│ ├─base.php 基礎定義文件
│ ├─composer.json composer 定義文件
│ ├─console.php 控制臺入口文件
│ ├─convention.php 慣例配置文件
│ ├─helper.php 助手函數文件(可選)
│ ├─LICENSE.txt 授權說明文件
│ ├─phpunit.xml 單元測試配置文件
│ ├─README.md README 文件
│ └─start.php 框架引導文件
├─build.php 自動生成定義文件(參考)
├─composer.json composer 定義文件
├─LICENSE.txt 授權說明文件
├─README.md README 文件
├─think 命令行入口文件
~~~
>[danger] 如果是mac或者linux環境,請確保`runtime`目錄有可寫權限
5.0的部署建議是`public`目錄作為web目錄訪問內容,其它都是web目錄之外,當然,你必須要修改`public/index.php`中的相關路徑。如果沒法做到這點,請記得設置目錄的訪問權限或者添加目錄列表的保護文件。
>[info] router.php用于php自帶webserver支持,可用于快速測試
> 啟動命令:php -S localhost:8888 router.php
5.0版本自帶了一個完整的應用目錄結構和默認的應用入口文件,開發人員可以在這個基礎之上靈活調整。
>[info] 上面的目錄結構和名稱是可以改變的,尤其是應用的目錄結構,這取決于你的入口文件和配置參數。
>[info] 由于ThinkPHP5.0的架構設計對模塊的目錄結構保留了很多的靈活性,尤其是對于用于存儲的目錄具有高度的定制化,因此上述的目錄結構僅供建議參考。
- 前言
- 更新說明
- 數據庫說明
- 第一章 前端框架及插件
- 第一節 Bootstrap
- 第二節 Layui
- 第三節 Vue.js
- 1.Element UI
- 第四節 DataTables
- 1.數據源
- 第二章 Thinkphp 5.0
- 控制器
- 第一節 增加
- 第二節 刪除
- 第三節 修改
- 第四節 查詢
- MVC
- 第一節 增加
- 第二節 刪除
- 第三節 修改
- 第四節 查詢
- MVC+AJAX
- 第一節 增加
- 第二節 刪除
- 第三節 修改
- 第四節 查詢
- 小功能
- 第一節 常用函數
- 第二節 隨機數
- 第三節 URL
- 擴展開發
- 第一節 分布式數據庫
- 第二節 內容上傳
- 1.本地上傳
- 2.七牛云上傳
- 第三節 導入導出
- 1.Excel
- 2.Word
- 第四節 發送郵件
- 第五節 模板分離
- 第六節 注冊登錄
- 1.用戶登錄
- 2.用戶注冊
- 3.管理登錄
- 第七節 菜單導航
- 第八節 判斷手機
- 第九節 富文本編輯器
- 1.Ueditor
- 2.CKEditor
- 第十節 購物車
- 第十一節 安全驗證
- 1.默認驗證碼
- 常用API開發
- 第一節 API接口使用
- 第二節 微信開發
- 附件下載
- 第一節 ThinkPHP 優化版
- 第二節 常用后臺模板下載
- 實例源碼
- 第一節 MQ CMS
- 第二節 MQ Edu