使用Composer构建ThinkPHP

2018-12-07 20:30:00
赵勤松
原创
2423
摘要:Composer是目前流行的PHP依赖包管理工具,从开发框架,到第三方SDK,都可以很方便地使用composer进行安装,升级和卸载,我们从ThinkPHP出发,来研究一下如何在ThinkPHP中使用composer

一、Composer的安装

Composer需要服务器环境下拥有php-cli,且必须支持phar,具体的安装命令可简化为

	# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
	# php composer-setup.php
	# rm composer-setup.php

执行完上述命令后,我们会在当前目录下,获得一份composer.phar的可执行文件,将该文件复制到/usr/bin目录下,并改名为composer,即可很方便地使用了。


二、包资源查找

https://packagist.org是本人常用的包资源网站,你可以通过关键字搜索自己想要的包资源,请大家自行探索,在此就不多说了。


三、安装ThinkPHP

在packagist网站中,搜索关键字thinkphp,我们可以找到一项名为topthink/think的包资源,点击进去,可以看到提示使用"composer create-project topthink/think"进行下载安装。

在服务器上,使用cd命令切换到你想要放置thinkphp框架的目录,然后执行以下命令


# composer create-project topthink/think
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Installing topthink/think (v5.1.29)
  - Installing topthink/think (v5.1.29): Downloading (100%)         
Created project in /root/thinkphp/think
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 2 installs, 0 updates, 0 removals
  - Installing topthink/think-installer (v2.0.0): Downloading (100%)         
  - Installing topthink/framework (v5.1.30): Downloading (100%)         
Writing lock file
Generating autoload files

因为网速的问题,可能需要等待几分钟才能完成下载工作。


四、第三方扩展包安装

在ThinkPHP中,第三方扩展包的安装,可以在框架根目录下(可看到composer.json文件),执行composer require xxxx,即可安装相应的扩展包,至于ThinkPHP做了哪些更改,请自行探索,本文不再做延伸。

举例说明,我们需要安装hprose库,以允许当前服务使用RPC的方式,调用其他服务器上的API接口,在服务器thinkphp框架根目录下,执行以下命令


# composer require hprose/hprose
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Using version ^2.0 for hprose/hprose
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing hprose/hprose (v2.0.35): Downloading (100%)         
hprose/hprose suggests installing ext-hprose (Faster serialize and unserialize hprose extension.)
Writing lock file
Generating autoload files
之后,我们就可以在ThinkPHP中使用相应的hprose中的类了,十分方便。


文章分类
联系我们
联系人: powereye
Email: zqs@someapp.cn
QQ: 1134846
微信: powereye