介紹pr一個composer包過程記錄

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

下面由composer教程欄目帶大家介紹pr一個composer包過程記錄 ,希望對需要的朋友有所幫助!

介紹pr一個composer包過程記錄

看到一位朋友的 enum包,感覺還不錯。

因為在實際開發中 我們使用 ?BenSampo/laravel-enum(https://github.com/BenSampo/laravel-enum)這個包去管理枚舉。

在標準化項目中(比如國際化)其實這個包挺好的。但是在小項目中,先添加枚舉類,再去enums.php 中添加翻譯,讓人感覺很繁瑣

像這樣子:
介紹pr一個composer包過程記錄
所以對這個注解讀取“翻譯”的這個包,我很感興趣。

但是問題來了,這個包里面只能讀取枚舉翻譯,如果我需要一個數組呢?

像這樣:

AppStatus::toSelectArray()

我想用這個包,但是我又想用到toArray,我滿足這兩個條件,我在小項目中就可以操刀就干,而又不失優雅。

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

fork好了之后,在項目根目錄中添加 一個 packages的文件夾,在這個文件夾中,git clone github.com/liaoshengping/x-phalcon…

composer.json 中添加,本地目錄

    "repositories": [         {             "type": "path",             "url": "packagesx-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一個composer包過程記錄

等大佬檢查代碼,如果通過則合并。

這樣就完成了我第一個pr
介紹pr一個composer包過程記錄? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

以上就是介紹pr一個

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享