果冻想
认真玩技术的地方

Composer教程之库(资源包)

每一个项目都是一个包

我们要认识到一点,我们开发的项目,也可以打成一个包,被别人依赖。只要有一个composer.json文件在目录中,那么整个目录就是一个包。当添加一个require到项目中,就是在创建一个依赖于其它库的包。我们的项目和库之间唯一的区别是,我们的项目是一个没有名字的包。

为了使它成为一个可安装的包,我们需要给它一个名称。我们可以通过composer.json中的name来定义:

{
    "name": "JellyThink/ComposerTest",
    "require": {
        "monolog/monolog": "1.0.*"
    }
}

此时,我们的项目名称为JellyThink/ComposerTest

指明版本

我们的项目是一个包,也许会提供给别人使用,这个时候,我们需要给我们的包指定一个版本号,此时我们只需在composer.json文件中添加一个version字段:

{
    "name": "JellyThink/ComposerTest",
    "version": "1.1.0",
    "require": {
        "monolog/monolog": "1.0.*"
    }
}

发布到packagist

我们可以将我们的包发布到packagist。Packagist是Composer主要的一个包信息存储库,它默认是启用的。任何在packagist上发布的包都可以直接被Composer使用。就像monolog它被发布在packagist上,我们可以直接使用它,而不必指定任何额外的来源信息。

具体的发布规则在https://packagist.org都有详细的说明。

总结

这篇文章内容以发布我们自己的包为主。在很多时候,我们的项目可能是基础服务提供者,这个时候我们就可以以包的形式对外发布,为他人提供服务。

果冻想,认真玩技术的地方。

2018年4月26日 于内蒙古包头。

未经允许不得转载:果冻想 » Composer教程之库(资源包)
网站维护离不开您的支持,您可以赞助本站,谢谢支持
×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

赞助本站
关注微信公众号
关注微信公众号和果冻一起分享你的疑惑与心得。
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

玩技术,我们是认真的

联系我们关于果冻