composer基本使用方法以及安装thinkphp6.0

发布时间:
2019-06-26 2:09:35

thinkphp5.1以后官方已经把5.2版本直接命名为thinkphp6.0。感觉thinkphp的每次重要的版本更新都是革命性的变革,以致于感觉自己都没有足够的精力去跟进新版本的速度。为此,我还特地去讨论区发了个帖子询问thinkphp什么时候能够出一个“稳定版”,不用担心每次版本迭代都是大刀阔斧,能平滑过渡升级。欣慰的是官方的回复也挺及时,答复说道Thinkphp6.0的架构基本固定成型,“理论上来说 TP6之后的版本都是可以无缝更新的,所以这次版本比较谨慎,调整较多……”,按官方的说法,这个必须点赞!这样作为开发者能够静下心来专心于功能实现。可预见的是thinkphp6.0正式版本在接下来的日子将很快与大家见面,而通过thinkphp官方说明最新的版本只支持composer,连github都不支持咯…

Composer接触不多,这里便简单记录一下composer的基本使用方法,并通过composer成功安装thinkphp6.0:

1、composer下载地址:https://www.phpcomposer.com。安装过程这里不啰嗦了,网络上一大堆。需要注意的是Thinkphp6.0的版本要求是PHP7.1+,因此在安装composer关联PHP版本时记得版本不应低于7.1.0。

2、安装完成,在cmd里面输入:composer 命令,出现如下界面即表示安装成功。

Composer安装方法

然后,继续输入命名:composer selfupdate 对composer进行版本更新

Composer安装方法

程序元数据存放平台:https://packagist.org/

但是这里需要注意的是这个网站在国内的经常会出现无法打开或者打开缓慢的情况,目前国内镜像较快的有以下2个:

https://packagist.laravel-china.org

https://pkg.phpcomposer.com

修改Composer默认数据源的方法如下:

  • 选项一:全局配置,这样所有项目都能惠及(推荐);
  • 选项二:单独项目配置;

选项一、全局配置(推荐)

选项二、单独使用

如果仅限当前工程使用镜像,去掉 -g 即可,如下:

在用composer创建项目时,会自动创建composer.json的配置文件,如果想单独定义,也可以通过这个配置文件修改repositories->packagist下的url值。

这里顺便说一下解除镜像恢复packagist官方源的方法:

到这里Composer安装及更新完成。接下来便是找到thinkphp6.0的安装包,然后安装到本机上。

Thinkphp在packagist.org上的项目地址:https://packagist.org/packages/topthink/think

thinkphp6.0最新版本

这个便是我们要安装的thinkphp6.0最新开发版本。just do it

需要注意的是create-project命令会在你当前目录下创建项目文件夹,如果未指定,则按照packagist上的项目名进行命名,如:

composer create-project topthink/think

若你直接运行上述命令,不指定目录与版本的话,则软件在会当前目录下创建一个think的目录存放项目文件,同时安装的是最新的稳定版本(非最新版本)。如:

Composer安装方法

 

我们可以看到,原本我们网站目录为D:\phpstudy_pro\WWW\www.tp.com,执行命令后会在该目录下再创建think目录来存放项目文件,而且download下来的thinkphp版本为V5.1.37.1并不是最亲的thinkphp6.+版本,因此需要注意切换到上一级目录再创建,以及创建目录时记得标明版本。

通过packagist上的thinkphp项目列表,我们发现thinkphp6相关的版本目录有2个,分别是6.0.x-dev和v6.0.0-rc3,既然有rc版本存在,我们就选用rc系列的版本,相比dev系列的版本rc的不会存在更多的未知问题。

安装thinkphp v6.0.0-rc3版本:composer create-project topthink/think tp v6.0.0-rc3

安装thinkphp 6.0.x-dev版本:composer create-project topthink/think tp 6.0.*-dev

如果官方有更新框架代码,可以使用:composer update topthink/framework (先进入项目目录)

Good luck!

共有 0 条评论

You must be logged in to post a comment.