「PHP」- Composer

  CREATED BY JENKINSBOT

什么是Composer?

Composer,用于管理PHP依赖管理。可以帮助你声明、管理、安装PHP项目的依赖。Composer非常像Bundler (Ruby)、npm (Node)等工具。

大概是这个样子

emmmm….有一些伟大的人,TA们写了一些PHP工具库。而你想在项目里使用某个PHP工具库,因为这些工具库牛X啊。嗯,那就下载这些工具库,在项目中引入相关文件,然后就可以在你的程序中使用相应的类或函数了,享受着这些工具库带来的便利,而不用开发自己的工具库。

但如果工具库很多呢?那你要手动引入很多相关文件,这在管理工具库时会很麻烦。而且,如果这些PHP工具库之间还存在依赖关系呢?管理起来就更麻烦了。

这时Compose就出现了。它会帮你下载这些工具库,并处理好依赖关系,而你只需要在程序中引入一个名为autoload.php的入口文件,然后就可以使用这些库了。

如何安装Composer?

这里就不再赘述了,官方和很多的博客中都描述了如何安装Composer,下面会给出参考连接:

	* [[https://getcomposer.org/download/|Download Composer]]
	* CSDN/吕秀军/[[https://blog.csdn.net/jj546630576/article/details/79047410|Composer 安装->使用]]
	* 在Debian中,我会直接使用软件包管理器安装:''apt-get intsall composer''。其他的Linux发行版中也是类似的思路。

不再列举更多了。安装分为”局部安装“和”全局安装“,请参考其他教程。我使用的是“全局安装”。

安装结束之后,我获得了composer命令。然后,就可以通过composer命令来安装工具库了。看下文。

如何使用Compser?

首先随便找一个目录,一个用作”初体验“的目录,我们就姑且命名为exp目录吧。进入exp目录,那我们随便下载一个phpunit吧:

	**# composer require phpunit/phpunit**

命令执行,等待结束后,在exp/下就会出现:composer.json、composer.lock、vendor/这两个文件及一个目录,verder/中保存了下载的phpunit工具库以及它的依赖。如果要在程序中使用phpunit工具库,只需要在程序中引入vendor/下的autoload.php文件即可。

有关Compser的更多内容,比如搜索、安装、创建项目等等,请参考官方手册「Documentation」中的说明。

国外源与国内源

“源”是工具库的集散中心,所有的工具库都来自于”源“。当你使用Composer安装一个工具库的时候,那就会到”源“中查找、下载该工具库。

官方源

https://packagist.org

国内源

但是,由于某些未知原因的存在,官方源访问十分慢。因此,又有一群伟大的组织提供了”国内源“。所谓“国内源”是对官方源的”镜像“。这样就可以非常块的使用Compser来下载工具库了。

https://packagist.phpcomposer.com

如何修改“源”

全局修改。作用于所有项目:

	**# composer config -g repo.packagist composer https://packagist.phpcomposer.com**

全局修改变更了$HOME/.composer/config.json文件。

局部修改,作用于当前项目:

	**# composer config repo.packagist composer https://packagist.phpcomposer.com**

局部修改变更了$HOME/.composer/config.json文件。

注意事项

好工具就是了不起,可以让一切变得简介、明了。有了工具以后,不需要懂太多,轻轻松松几下就搞定了所有的问题。

参考文献

Composer Homepage
百度百科/composer

更新日志

05/08/2017 创建文章
08/09/2018 修改文章内容