欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

php 制作package满足公司的解耦业务

程序员文章站 2022-05-29 10:13:43
...

参考文档

  1. 介绍版本约束 http://overtrue.me/articles/2017/08/about-composer-version-constraint.html
  2. 介绍composer https://docs.phpcomposer.com/04-schema.html#autoload

场景:

另一个项目组需要我们支撑一个功能,并且这个功能也可能在其他的项目组中用到,
这个任务刚好落到了我的手上,这种问题为乐解耦和,一般采用两种解决方案
    1.  API
    2.  package
考虑到工作效率的问题(不用框架),我采用了第二种

package的简易制作

1. 封装
    1.1 package 主体分为三部分
        . src/ 
        .  composer.json  
        .  test   单元测试使用
        composer.json
        {
            "name": "gray_score/level", // `包的名字`
            "description": "包的介绍",   //`包的描述`
            "license": "MIT",   // `协议` 闭源软件
            "minimum-stability": "stable", // 下载稳定版 "gray_score/level": "dev-master" 代表该分支下的最新提交  合起来就是最新稳定版
            "authors": [ // 作者
                {
                    "name": "carson",
                    "email": "[email protected]"
                }
            ],
                "autoload": {  //自动加载映射  `eg:gray\level namespace 映射到 src目录下面`
                "psr-4": {
                    "gray\\level\\": "src/",
                    "gray\\test\\": "test/"
                }
            }
        }
        然后src里面完成逻辑的处理  ...
        到目前为止 一个简单包的工作已经完成了

2.  上传github

        和普通上传没什么区别

3.  上传到packagist 
     . 前提当然是已经注册账户
     . 点击Submit 按钮
         填写刚才上传github获取到的地址
         `check` `check` `check` 
 . 如果包的名字没有被占用 恭喜你你成功的船建了一个包     

 4.  自动同步

     现在还没有结束,包和github还不能实时同步                
     1.  github   资源setting,点击Integrations & services 按钮 
     2.  填写packagist 上面的username  and token  点击确定 完工
相关标签: package