PHP培训

亿元级外企Java培训企业

  • 全国服务监督电话4008270010
php培训 > PHP教程 > Composer.json简介
  • Composer.json简介

    发布:php培训  来源:PHP教程  时间: 2017年01月10日

  • 假如你在自己的项目下面定义一个composer.json,则这个包称之为ROOT包,这个composer.json定义你项目需要的条件(比如你的项目可能依赖一个第三方包)....

  • 之前文章中也多次提到了composer.json,比如你希望使用第三方包则需要在本地定义composer.json,Composer安装第三方包后,也会在第三方包目录下发现composer.json,那么这二者都叫composer.json,有什么区别呢?理解这非常的重要.

    假如你在自己的项目下面定义一个composer.json,则这个包称之为ROOT包,这个composer.json定义你项目需要的条件(比如你的项目可能依赖一个第三方包).

    composer.json中有些属性只能被ROOT包使用,比如config属性只在ROOT包中生效.

    一个资源包是不是ROOT包,取决于它的上下文,比如你git clone ywdblog/phpcomposer,则这时候本地phpcomposer目录就是ROOT包,假如你在本地phpcomposer目录下composer require ywdblog/phpcomposer,则这时候你的项目phpcomposer就是ROOT包.

    了解composer-schema.json可参考该网址,Laravel作为一个成熟的框架,其定义的composer.json非常经典

    关于包的版本

    当使用者在本地配置composer.json的时候,可以指定需要包的特定版本,Composer支持从Github仓库中下载Tag或者分支下的包.

    对于Github上的Tag来说,Packagist会创建对应包的版本,它符合X.Y.Z,vX.Y.Z,X.Y.Z-包类型,就是说Github上虽然只有一个特定版本的包,但Composer支持多种形式的引用方式,比如:

    composer require monolog/monolog  1.0.0-RC1 
    composer require monolog/monolog  v1.0.0-RC1 
    composer require monolog/monolog  1.0.*
    composer require monolog/monolog  ~1.10

    对于Github上的分支来说,Packagist会创建对应包的版本,假如分支名看起来像一个版本,将创建{分支名}-dev的包版本号,如果分支名看起来不像一个版本号,它将会创建dev-{分支名}形式的版本号

    composer require monolog/monolog  master-dev
    composer require monolog/monolog  master.x-dev
  • 上一篇:Repositories简介

    下一篇:程序员必备应用软件

相关资讯
开课时间
网站导航
2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56