在TYPO3 Composer项目中开发扩展



摘要:如何设置(现有的(TYPO3 Composer项目来开发自定义的TYPO3扩展(在该项目中使用(?如何处理不特定于单个项目的扩展,这些扩展可能存在于多个项目中。


我有一个作曲家TYPO3项目为我们的网站。相关文件(如composer.jsoncomposer.lockLocalConfiguration.php包含在Git repo中(

问题是如何开发自己的自定义(目前是非公共的(扩展并设置开发实例。

对于特定于项目的扩展,选择的解决方案似乎是将它们包括在项目repo中,例如在文件夹/extensions中,并使用存储库type=path添加它们,如下所示:

composer.json:

"repositories": [
{
"type": "path",
"url": "extensions/*"
},
...
"require": {
"myvendor/myextension": "@dev",
...
}

对于只在这个项目中使用的扩展,这对我来说是有意义的

如何处理不特定于此项目的扩展它们也用于其他项目。例如,在我的项目中可能有一个可复制的错误,所以我想在这个项目中调试和开发扩展。为其他作者的公共扩展创建PR也是如此。

我目前对自定义扩展的看法是:它们有各自的git存储库(私有Gitlab(,对发布进行标记,并需要版本标记。

composer.json(不完整(

{
"repositories": [
{
"type": "gitlab",
"url": "git@gitlab.mysite.org:typo3-extensions/my_extension.git"
}
],
"require": {
"myvendor/my-extension": "^1.3.1"
}
}   

此设置不适合使用相同的git存储库来设置开发站点并在此基础上开发扩展(因为自定义扩展是Composer在没有.git文件的情况下从Gitlab获取的(。

对我来说,最简单的解决方案似乎是在扩展的存储库中创建一个新分支,从当前用于特定问题的commit/tag/version开始。

将项目中所需的版本设置为新分支,然后开始破解问题,直到找到解决方案。

然后,您可以考虑将更改合并回master,或者为该项目保留一个单独的分支,该分支从master接收更新。

最新更新