每个php程序猿都知道composer,是php的软件依赖工具,类似于Python的pip,nodejs的npm
任何一门语言,随着生态的不断完善,都会有各种功能完善的包和类库,它们之间经常相互依赖,如何解决依赖就是一个头疼的问题。
像Linux不同的发行版,都有各自的包管理工具,像centos的yum ,Ubuntu的apt。
早期的php是通过pear和pecl进行扩展安装的,pear是php开发的,而pecl是c写的,一般用于php难以实现的功能。
虽然pear早了很多年,由于composer易用和部署方便,大有取代pear之势。
这个工具也有它的缺点,特别对初学者不太友好:
1. 不好安装
特别是在windows下,我的安装体验,两种方法:
方法一. php -r “readfile(‘#39;);” | php
结果出错
PHP Parse error: syntax error, unexpected ''head' (T_ENCAPSED_AND_WHITESPACE),expecting ']' in Standard input code on line 1529Parse error: syntax error, unexpected ''head' (T_ENCAPSED_AND_WHITESPACE), expecting ']' in Standard input code on line 1529
方法二 Composer-Setup. exe
结果又错误
Failed to decode zlib stream
最终还是直接下载的composer.phar文件,
建一个bat的批处理文
@ECHO OFFphp "%~dp0composer.phar" %*
双击运行
cli下执行composer -v 能出现composer图形就算成功了。
在Linux环境下,安装是很顺利的,用命令行很容易就安装成功了。
2. 网速慢
这应该是最大的硬伤,虽然可以通过设置镜像让安装快一点,但升级的时候经常出现各种问题。
所以,对于简单的应用,我不太喜欢这个工具,还是
在composer出现之前,php开发的各种程序,都是通过zip包直接下载,然后解压就可以运行了,包里有程序所有文件,不需要额外的工作,自从composer出现以后,越来越多的程序开始采用,无形中增加了php的学习成本,php本来就是简单易学著称,现在让很多初学者倒在了安装的路上。
php本来就是解释性 脚本语言 ,不管前期怎么折腾,最后还是一堆php文件来运行,所以不管用什么工具安装其实和zip所有文件是一样的,到底哪个更方便呢!
总体来说,composer还是增加了php引入第三方类库的便利性,弊大于利吧。