怎么使用composer创建PHP组件

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/

使用composer创建PHP组件

前言

当今php生态环境,composer已经成为必不可少的组件,相信大多数人已经使用过别人的composer包, 那么如何创建一个PHP组件,发布到packigist从而把你的创意贡献给开源社区呢?

确定厂商名和包名

在开发PHP组件之前,首先要选择组件的厂商名和包名,已用来区分组件属于谁,建议厂商名和包名都是用小写字母.

确定命名空间

命名空间不必和包名一直,注意不要与其他组件命名空间重复.

生成composer.json文件

我们可以简单使用composer init 创建项目的composer.json 文件,

之后会以问答的形式提示你填写信息, 以下 “>” 后 表示交互时输入的信息> composer init Welcome to the Composer config generator This command will guide you through creating your composer.json config. Package name (<vendor>/<name>) [composertest/example]: # 厂商名与包名 > suntianxiang/cn-oauth Description []: > A library for wechat,alipay,weibo OAuth2 Client # 详细信息 Author [stx <334965556@QQ.com>, n to skip]: Minimum Stability []: > beta # 下载时倾向开发版还是稳定版 Package Type (e.g. library, project, metapackage, composer-plugin) []: > library # 包的类型,我们属于library,固填library License []: MIT # 开源协议 Would you like to define your dependencies (require) interactively [yes]? > no # 是否需要定义你的依赖 Would you like to define your dev dependencies (require-dev) interactively [yes]? > no { “name”: “suntianxiang/cn-oauth”, “description”: “A library for wechat,alipay,weibo OAuth2 Client”, “type”: “library”, “require-dev”: { “phpunit/phpunit”: “^6.5” }, “license”: “MIT”, “authors”: [ { “name”: “stx”, “emAIl”: “334965556@qq.com” } ], “minimum-stability”: “beta”, “require”: { “php”: “> 7.0”, “guzzlehttp/guzzle”: “^6.3” }, “autoload”: { “psr-4”: { “CnOAuth”: “src” } } }

最后会输出生成的composer.json文件 ()

实现组件功能

现在我们要实现组件的具体功能了。这一步我们要便携组成PHP组件的类、接口和形状。编写什么类以及编写多少类完全取决于PHP组件的作用。

组件的文件组织方式如下:Root: src/ 这个目录包含组件的源码 (例如PHP文件) tests/ 单元测试文件 composer.json composer配置文件 README.md 组件介绍,说明,使用方法等, markdown格式 …

如果你还不太清楚,可以参考一些优秀的组件仓库的组织结构

版本控制

在把组件发布到packagist之前,我们还需要把组件发布到公开的代码仓库中,

例如 github, 把写好的代码发布到了github上 并创建一个release

怎么使用composer创建PHP组件插图

提交到packagist

现在可以把组件提交到packagist了。

登录packagist后, 单机网页右上角的 “Submit Package”按钮,然后在 “Repository URL” 中输入完整的Git仓库URL,再单机“Check”按钮。组件创建完成

怎么使用composer创建PHP组件插图1

我们可以在Github上创建一个钩子,每次更新组件的仓库时通知Packgist,在仓库中设置钩子的方法参阅https://packagist.org/about#how-to-update-packages

使用这个组件

一切都完工了!现在任何人都能使用Comopser安装这个组件了。

composer require suntianxiang/cn-oauth
免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容