在开发自己的Composer包时,我正在尝试找出合适的开发流程。我知道如何创建composer.json并在Packagist上获取包。这不是问题所在。
假设我有一个添加到Packagist中的简单PHP类。当我准备好对其进行更改(bug修复、新功能等)时,我该怎么做?
我是否简单地将现有的包composer install到本地开发环境,并直接在vendors目录中对我的包进行更改?如果是,那么该目录不是克隆git代码库,那么我如何提交和推送我的更改呢?
或者,我是否要克隆到一个随机的本地目录,然后使用VCS和一个指向我克隆的git存储库的自定义本地存储库composer install到一个开发环境?如果是这样,我假设我是在存储库中进行更改,而不是在本地vendors目录中进行更改。那么我如何让我的开发环境保持更新呢?我真的需要在每次点击保存到包中的文件时执行一次composer update吗?
此外,Composer仅在看到包的版本号发生更改时才会进行更新,因此我还必须手动编辑my packages composer.json,并在版本控制方面进行混乱,以便更新开发环境。每次我点击保存时,都会发生这种情况。
对我来说,工作流程应该更明显一些。这里我漏掉了什么?在本地开发环境中使用Composer是很重要的,这样才能正确加载其他依赖项,而且我显然希望我的包保留在克隆的git存储库中,这样我就可以推送更改。
附注:-假设我的包是非框架特定的。不是特定于Laravel或Symfony等,只是一个通用的PHP包。
发布于 2014-09-11 04:07:55
显而易见的答案是:
您可以从其版本控制系统中签出该包,添加所需的错误修复或功能,提交结果并标记新版本。
为了获得最好的结果,请单独执行此操作。不要假设包周围有一个可用的代码基础架构。如果你想测试你的包是否提供了你想要的功能,并且不能在一个更大的应用程序中测试这个包,剩下的就是:为此编写自动化测试。或者经历编码、提交、标记、更新、测试的不愉快循环,仍然失败……更多的编码...
https://stackoverflow.com/questions/25736161
复制相似问题