## 安裝
ThinkPHP提供多個方式的安裝,包括官網下載、`Composer`安裝以及`GIT`下載,對于新手來說,有必要理解這幾種安裝方式的區別。
* **官網下載**:一般都是穩定版本(并不會實時更新),有些大的版本還會提供核心版(不含擴展)和完整版(包含常用擴展)兩個版本;
* **`Composer`安裝**:是一種主流的安裝方式,`Composer`也分為穩定版和開發版安裝,如果是安裝的穩定版則可以`update`到最新的穩定版,如果是安裝的開發版那么`update`到的也是實時的開發版,安裝慢的可以使用國內鏡像,但注意存在一定的緩存時間;
* **`GIT`安裝**:直接通過`git`地址安裝的方式,優勢是可以實時更新,跟著官方開發版本走的用戶可以選擇`GIT`更新,也方便及時反饋和提交`PR`,除了`Github`之外,國內的碼云和`Coding`代碼托管平臺都有ThinkPHP5的鏡像,請自行選擇。
### 官網下載
ThinkPHP最新的穩定版本可以在([官方網站下載頁](http://thinkphp.cn/down/framework.html))下載,不過官網下載版本并不是實時更新的,我們會在每個版本更新發布的時候重新打包,如果你需要實時更新版本,請使用`Git`版本庫或者`Composer`安裝。
>[danger]### 【 5.1 】
> * * * * *
> 5.1版本開始官方不再提供打包下載版本,請選擇`Composer`或者`GIt`安裝
### Composer安裝和更新
ThinkPHP`5.0`支持使用`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)。
>[success]### 提示:
> * * * * *
> 如果遇到任何問題或者想更深入地學習 Composer,請參考?[Composer 官方文檔(英文)](https://getcomposer.org/doc/),看云上有 [Composer 的中文版本](http://www.hmoore.net/thinkphp/composer)。
如果你已經安裝有 `Composer` 請確保使用的是最新版本,或者可以用?`composer self-update`?命令更新為最新版本。
由于眾所周知的原因,國外的網站連接速度很慢,并且隨時可能被“墻”甚至“不存在”。因此安裝的時間可能會比較長,我們建議通過下面的方式使用國內鏡像。
>[info] 打開命令行窗口(windows用戶)或控制臺(Linux、Mac 用戶)并執行如下命令:
~~~
composer config -g repo.packagist composer https://packagist.phpcomposer.com
~~~
>[danger] 注意:最近`phpcomposer`鏡像存在問題,可以改成
> ~~~
>composer config -g repo.packagist composer https://packagist.laravel-china.org
> ~~~
>
然后在命令行下面,切換到你的web根目錄下面并執行下面的命令:?
~~~
composer create-project topthink/think=5.0.* tp5 --prefer-dist
~~~
>[danger]### 【 5.1 】使用須知
> * * * * *
> 5.1版本安裝使用下面的指令即可
> ~~~
> composer create-project topthink/think tp5 --prefer-dist
> ~~~
> 不過注意,如果你的PHP版本低于`5.6`的話 將仍然安裝5.0版本
如果出現錯誤提示,請根據提示操作或者參考[Composer中文文檔](http://www.hmoore.net/thinkphp/composer)。
如果之前使用`Composer`安裝的話,首先切換到你的`tp5`目錄,然后使用下面的命令更新框架到最新版本(注意因為緩存關系,`composer`不一定是及時更新的):
~~~
composer update
~~~
>[danger]### 注意:
> * * * * *
>使用`composer update`更新核心框架會清空原來的核心框架目錄,如果你定制了核心框架或者添加了擴展在核心目錄的話,建議使用后面的Git方式更新。
### Git下載和更新
`ThinkPHP`使用`Git`版本庫進行更新迭代,如果你不太了解`Composer`或者覺得`Composer`太慢,也可以使用`git`版本庫安裝和更新,`ThinkPHP5.0`拆分為多個倉庫,下面是`github`(主要維護倉庫)及國內的倉庫地址:
#### [ Github ]
~~~
應用項目:https://github.com/top-think/think
核心框架:https://github.com/top-think/framework
~~~
#### [ 碼云 ]
~~~
應用項目:https://gitee.com/liu21st/thinkphp5.git
核心框架:https://gitee.com/liu21st/framework.git
~~~
#### [ Coding ]
~~~
應用項目:https://git.coding.net/liu21st/thinkphp5.git
核心框架:https://git.coding.net/liu21st/framework.git
~~~
>[danger]### 【 5.1 】使用須知
> * * * * *
> 5.0版本和5.1版本分別屬于不同的分支,5.1需要switch到5.1分支
>[success]### 提示:
> * * * * *
> 之所以設計為應用和核心倉庫分離,是為了支持`Composer`單獨更新核心框架。
如果你還沒安裝`Git`,可以參考閱讀 [Pro Git第二版(中文)](http://www.hmoore.net/kancloud/progit)先。
首先克隆下載應用項目倉庫
~~~
git clone https://github.com/top-think/think tp5
~~~
然后切換到`tp5`目錄下面,再克隆核心框架倉庫:
~~~
git clone https://github.com/top-think/framework thinkphp
~~~
兩個倉庫克隆完成后,就完成了`ThinkPHP5.0`的`Git`方式下載,如果需要更新核心框架的時候,只需要切換到thinkphp核心目錄下面,然后執行:
~~~
git pull https://github.com/top-think/framework
~~~
如果不熟悉`git`命令行,可以使用任何一個`GIT`客戶端進行操作,在此不再詳細說明。
> Github上還給新手提供了包含了常用擴展的完整版,可以免去composer安裝的煩惱,下載地址:https://github.com/top-think/think/tree/archive
GIT方式只能安裝核心框架,官方擴展只能通過`Composer`安裝。
- 零、序言
- 一、基礎
- (1)簡介
- (2)安裝
- (3)目錄結構
- (4)運行環境
- (5)入口文件
- (6)資源訪問
- (7)調試模式
- (8)控制器
- (9)視圖
- (10)讀取數據
- (11)總結
- 二、URL和路由
- (1)URL訪問
- (2)參數傳入
- (3)隱藏入口
- (4)定義路由
- (5)URL生成
- (6)總結
- 三、請求和響應
- (1)請求對象
- (2)請求信息
- (3)響應對象
- (4)總結
- 四、數據庫
- (1)準備
- (2)數據庫配置
- (3)原生查詢
- (4)查詢構造器
- (5)鏈式操作
- (6)事務支持
- 五、查詢語言
- (1)查詢表達式
- (2)批量查詢
- (3)快捷查詢
- (4)視圖查詢
- (5)閉包查詢
- (6)獲取值和列
- (7)聚合查詢
- (8)時間查詢
- (9)字符串查詢
- (10)分塊查詢
- 六、模型和關聯
- (1)模型定義
- (2)基礎操作
- (3)讀取器和修改器
- (4)類型轉換和自動完成
- (5)查詢范圍
- (6)輸入和驗證
- (7)關聯
- (8)模型輸出
- 七、視圖和模板
- (1)模板輸出
- (2)分頁輸出
- (3)公共模板
- (4)模板定位
- (5)布局模板
- (6)標簽定制
- (7)輸出替換
- (8)渲染內容
- (9)助手函數
- 八、調試和日志
- (1)第一式:未雨綢繆——頁面Trace
- (2)第二式:初見端倪——異常頁面
- (3)第三式:撥云見日——斷點調試
- (4)第四式:欲窮千里——日志分析
- (5)第五式:運籌帷幄——遠程調試
- 九、API開發
- (1)API版本
- (2)異常處理
- (3)RESTFul
- (4)REST調試
- (5)API調試
- (6)安全建議
- 十、命令行工具
- (1)查看指令
- (2)模塊生成
- (3)控制器生成
- (4)生成類庫映射文件
- (5)生成路由緩存
- (6)生成字段緩存
- (7)指令擴展
- (8)命令行調試
- (9)命令行顏色支持
- (10)命令調用
- 十一、擴展
- (1)函數擴展
- (2)類庫擴展
- (3)驅動擴展
- (4)Composer擴展
- 十二、雜項
- Session
- Cookie
- 驗證碼
- 文件上傳
- 圖像處理
- 單元測試
- 番外篇:學習ThinkPHP5的正確姿勢
- 概念篇:ThinkPHP5名詞解釋
- 附錄A、常見問題集
- 附錄B、3.2和5.0區別
- 附錄C、助手函數
- 附錄D、5.1你必須努力避免的一些問題