## 安装
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.kancloud.cn/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.kancloud.cn/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.kancloud.cn/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.kancloud.cn/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你必须努力避免的一些问题