• Frank Chen 在版块 Coding 中发起了话题 PHP Composer相关知识点 2年前

    Composer是一个非常流行的PHP包依赖管理工具

    背景:

    PHP从5.1.2开始,多提供了一个函式。可以多写几个autoload函式,然后注册起来,效果跟直接使用__autoload相同。现在可以针对不同用途的类别,分批autoload了。

    每个loader内容可以做很多变化。可以多写判断式让它更智慧、可以进行字串处理…

    自动载入类别的问题终于解决了… 但是一大串一大串的autoload,手动去写这些很麻烦,这个时候就会想到能不能用一种工具直接去生成呢?这个时候就有了composer了。

    Composer 不是一个包管理器。是的,它涉及 “packages” 和 “libraries”,但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。

    这种想法并不新鲜,Composer 受到了 node’s npm 和 ruby’s bundler 的强烈启发。而当时 PHP 下并没有类似的工具。

    Composer 将这样为你解决问题:

    a) 你有一个项目依赖于若干个库。

    b) 其中一些库依赖于其他库。

    c) 你声明你所依赖的东西。

     

    d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。

    官方文档: 参考这里

WirelessLink
Logo