Composer和laravel的理解

来源:互联网 发布:乐视视频网络连接 编辑:程序博客网 时间:2024/05/18 21:49

1、什么是Composer ?

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

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

Composer 将这样为你解决问题:


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


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


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


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




声明依赖关系


比方说,你正在创建一个项目,你需要一个库来做日志记录。你决定使用 monolog。为了将它添加到你的项目中,你所需要做的就是创建一个 composer.json 文件,其中描述了项目的依赖关系。


{
    "require": {
        "monolog/monolog": "1.2.*"
    }
}
我们只要指出我们的项目需要一些 monolog/monolog 的包,从 1.2 开始的任何版本。


2、为什么我们可以用composer来安装laravel ?

因为packagist是composer的一个库laravel 被上传到了packagist。

composer是一个php的依赖管理工具。


3、试想一下不用依赖管理工具来管理项目:


如果一个项目只是自己一个人开发的话,自己很清楚需要引入什么库。
这时项目又加入了新同事一起开发,你告诉他要引入什么库,这时候可能会遇到库版本不一致,存放位置不一致,依赖库引入不方便(查找不方便,需要在不同网站上一个一个的下载等)等等问题。
项目再继续增加人手项目需要传播,在引入依赖库的时候也会重复遇到以上问题。
使用依赖管理工具后,大家用一种统一的依赖描述方式和引入方式来管理依赖即可解决问题。

传播项目的时候就不再为项目依赖关系发愁。

摘自 http://phpernotes.com/php/php_dependency_manager

原创粉丝点击