「PHP」- Composer

认识

社区的开源作者们写了很多 PHP 工具库。而我们想在项目里使用某个 PHP 工具库,因为这些工具库强大。嗯,那就下载这些工具库,在项目中引入相关文件,然后就可以在我们的程序中使用相应的类或函数了,享受着这些工具库带来的便利,而不用开发自己的工具库;

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

这时 Compose 就出现了。Composer,用于管理 PHP 依赖管理。可以帮助我们声明、管理、安装 PHP 项目的依赖。Composer 非常像 Bundler (Ruby)、npm (Node)等工具。它会帮我们下载这些工具库,并处理好依赖关系,而我们只需要在程序中引入一个名为 autoload.php 的入口文件,然后就可以使用这些库了。

构建

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

  • Download Composer
  • CSDN/ 吕秀军 /如何使用 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