Composer php 在本地为扩展开发设置TYPO3

Composer php 在本地为扩展开发设置TYPO3,composer-php,typo3,Composer Php,Typo3,我想在本地为扩展开发设置TYPO3 我在Linux上工作(但我们假设答案对Mac和Windows应该有帮助,因为这是最常用的) 我可以轻松地为TYPO3核心开发设置我的系统(带DDEV或不带DDEV),因为。然而,该方法克隆了TYPO3核心,并在当前的开发主机上工作。我宁愿只安装最新的TYPO3版本 这里的好方法是什么?我希望有尽可能少的外部依赖。另外,我是否应该使用Composer安装TYPO3?虽然通常建议使用Composer,但是否建议在本地开发扩展 因为我将在该系统上开发一个扩展,所以我

我想在本地为扩展开发设置TYPO3

我在Linux上工作(但我们假设答案对Mac和Windows应该有帮助,因为这是最常用的)

我可以轻松地为TYPO3核心开发设置我的系统(带DDEV或不带DDEV),因为。然而,该方法克隆了TYPO3核心,并在当前的开发主机上工作。我宁愿只安装最新的TYPO3版本

这里的好方法是什么?我希望有尽可能少的外部依赖。另外,我是否应该使用Composer安装TYPO3?虽然通常建议使用Composer,但是否建议在本地开发扩展

因为我将在该系统上开发一个扩展,所以我希望所做的更改能够立即激活(而不必通过外部git存储库或Packagegist的往返)

使用typo39.5

然而,该方法克隆了TYPO3核心,并在当前的开发主机上工作。我宁愿只安装最新的TYPO3版本

如果您想节省空间或不需要git存储库为TYPO3提供的历史记录,您可以通过提供
--depth
选项来进行所谓的浅层克隆,并使用
--branch
后跟名称指定要签出的分支,例如,如果您想签出最新的9.5分支,可以使用
9.5
。如果您想签出一个发行版而不是最新的开发版本,这也将使用标记而不是分支名称。 如果您的引用存储库也使用子模块,您可能还希望添加
--浅层子模块
,作为附加选项

git克隆--深度1--分支9.5。。。
这将提供一个非常小的克隆以供使用,并应加快主安装的初始下载过程

另外,我是否应该使用Composer安装TYPO3?虽然通常建议使用Composer,但是否建议在本地开发扩展

是的,我建议这样做,或者至少提供composer.json。然后,您应该像其他任何使用
composer所需的那样安装扩展,因为这是以后安装扩展的方式,您应该确保它可以正常工作。当您安装了与您的扩展一起使用的其他扩展时,这也有助于识别不兼容的依赖项

我建议的一件事是使用一个指向您的扩展名的指针,而不是立即在PackageGist注册它。如果要从git存储库(例如github)下载扩展,您可能需要设置VCS存储库;如果您只想从同一台机器上开发扩展的目录中对其进行符号链接,则可以使用。这两种方法都适用于您还不想发布扩展,但希望确保在任何其他TYPO3安装中安装时它们的行为正确的情况


特别是在早期开发中,我更喜欢path repository,因为您可以在自己的存储库中开发扩展,并且您所做的每一项更改都将在参考项目中立即可用,因为文件是符号链接的(默认情况下)。

使用DDEV和Composer,您可以轻松安装本地扩展

在composer.json中,您必须声明另一个类型为
“path”
的存储库,如下所示:

"repositories": [
    {
        "type": "composer",
        "url": "https://composer.typo3.org/"
    },
    {
        "type": "path",
        "url": "./packages/*"
    }
],
将扩展名放入该文件夹中,您可以
composer require
您的扩展名。(您的扩展需要自己的composer.json)。 Composer将在packeges文件夹中找到您的扩展,并将其符号链接到您的安装中。
扩展中的任何更改都将立即激活


此处介绍:

如果您想使用DDEV和Composer(您应该这样做),有一种简单的方法来设置键入3:

您发布的指南是TYPO3贡献指南,它是为TYPO3做出贡献所必需的,但是查看核心可能只是开发一个扩展


始终建议在composer中使用TYPO3,因为它在更新依赖项时为您省去了很多麻烦,并为您提供了一系列很好的功能,如脚本。

您现在找到了一个您满意的设置?对于我自己,我找到了一个解决方案。我不仅仅是问自己这个问题,也是为了记录这个问题,以了解人们在做什么。回想起来,我想我应该更具体地回答这个问题。