• 技术文章 >开发工具 >composer

    怎么使用composer创建PHP组件

    藏色散人藏色散人2021-04-19 19:43:16转载306
    下面由composer教程栏目带大家介绍怎么使用composer创建PHP组件,希望对需要的朋友有所帮助!

    使用composer创建PHP组件

    前言

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

    1. 确定厂商名和包名

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

    2. 确定命名空间

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

    3. 生成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文件 ()

    4. 实现组件功能

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

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

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

    5. 版本控制

      在把组件发布到packagist之前,我们还需要把组件发布到公开的代码仓库中,
      例如 github, 把写好的代码发布到了github上 并创建一个release

    95a97cc92490786f7a790dbf2a955d6.png

    1. 提交到packagist

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

    4c11961c7c54253e0bd591bef6fa27a.png

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

    2. 使用这个组件

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

       composer require suntianxiang/cn-oauth

    以上就是怎么使用composer创建PHP组件的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:segmentfault,如有侵犯,请联系admin@php.cn删除
    专题推荐:php composer
    上一篇:composer怎么在当前目录创建项目 下一篇:解析composer的自动加载原理
    线上培训班

    相关文章推荐

    • composer更新指定的依赖包方法• composer配置中国镜像(解决没有VPN)• 解决问题:composer failed to open stream: Operation now in progress• 介绍 composer 进阶命令• composer怎么在当前目录创建项目

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网