最新消息: 关于Git&GitHub 版本控制你了解多少?
您现在的位置是:群英 > 开发技术 > 编程语言 >
pr一个composer包详细过程分解
网络发表于 2021-04-19 17:07 次浏览

下面由群英网络带大家介绍pr一个composer包过程记录 ,希望对需要的朋友有所帮助!

看到一位朋友的 enum包,感觉还不错。

因为在实际开发中 我们使用 BenSampo/laravel-enum(https://github.com/BenSampo/laravel-enum)这个包去管理枚举。

在标准化项目中(比如国际化)其实这个包挺好的。但是在小项目中,先添加枚举类,再去enums.php 中添加翻译,让人感觉很繁琐

像这样子:

所以对这个注解读取“翻译”的这个包,我很感兴趣。

但是问题来了,这个包里面只能读取枚举翻译,如果我需要一个数组呢?

像这样:

AppStatus::toSelectArray()

我想用这个包,但是我又想用到toArray,我满足这两个条件,我在小项目中就可以操刀就干,而又不失优雅。

所以,我决定fork一份自己改一下,添加toArray 的方法

fork好了之后,在项目根目录中添加 一个 packages的文件夹,在这个文件夹中,git clone github.com/liaoshengping/x-phalcon...

composer.json 中添加,本地目录

    "repositories": [
        {
            "type": "path",
            "url": "packages\x-phalcon-enum"
        }
    ]

接下来

composer require limingxinleo/x-phalcon-enum dev-master

在vendor 会生成一份 和packages 一样的 文件。这时已经映射到了 packages ,只需要修改其中的文件就可以了。

在 Enum.php 添加一个toArray 的静态方法。

    public static function toArray(){
        $ref = new ReflectionClass(static::class);
        $properties = $ref->getDefaultProperties();
        $_adapter = new ReflectionAdapter(static::class);
        $arr = $_adapter->getAnnotationsByName('Message', $properties);
        return $arr;
    }

push 到 自己的master 上,创建一个 Pull Request,如图:

等大佬检查代码,如果通过则合并。

这样就完成了我第一个pr

以上就是介绍pr一个composer包过程记录的详细内容,更多请关注群英网络其它相关文章!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
相关信息推荐
2021-04-28 17:25:15 关键词:Composer
摘要:​下面由群英网络带大家介绍Composer安装及解决遇到的问题 ,希望对需要的朋友有所帮助!在这之前,先检查你的php版本和相关扩展........
2021-04-19 17:09:07 关键词:composer
摘要:下面由群英网络带大家介绍windows安装composer ,希望对需要的朋友有所帮助!一、确保 php 环境变量已设置, 变量地址为php.exe所在的目录.....
2021-04-19 17:08:48 关键词:composer
摘要:​下面由群英网络带大家介绍composer 更新项目使用VCS源 ,希望对需要的朋友有所帮助!我们在PHP开发当中难免会遇到这种情况,在用composer做包管理工具的时候,项目依赖的某个开源组..
2021-04-19 17:07:17 关键词:composer
摘要:下面由群英网络带大家介绍Mac安装composer ,希望对需要的朋友有所帮助!..
2021-04-12 17:23:54 关键词:Composer,replace
摘要:下面由群英网络带大家介绍使用replace属性来避免Composer的依赖冲突方法,希望对需要的朋友有所帮助!Composer 文档提供了两个基本的示例。 我将尝试解释一下.....