在 TYPO3 扩展中使用第三方作曲家包
Use third party composer packages in TYPO3 extensions
我在我的 TYPO3 扩展中集成了一个 Service Worker 用于接收推送通知。
现在我想要将消息从后端发送到客户端 web-push-php Library。
但是如何将库及其依赖项集成到 TYPO3 中呢?
如果您使用 Composer 设置您的项目,您可以只需要 minishlink/web-push
并开始使用 class Minishlink\WebPush\WebPush
.
如果您 运行 正在 "legacy" 模式(即 classic install without composer)或者想要同时支持这两种模式,您将需要不同的方法。 IMO 最佳实践是将作曲家要求捆绑在 .phar
文件中 - 这样您就可以保持 IDE 干净并减少 VCS 占用空间。有一个博客 post 详细描述了 phar bundling in TYPO3 extensions。
此方法适用于遵循 PSR-0 或 PSR-4 的大多数作曲家要求,并且在您的情况下应该可行,因为 minishlink/web-push
似乎遵循 PSR-4。
您甚至可以通过使用脚本来推进这一点,您可以通过 运行ning composer run <script>
在扩展的根文件夹中启动。 TYPO3 扩展 typo3_console
包含 composer.json
定义此类脚本。
如果您需要在 TYPO3 6.2 环境中 运行 您的扩展,您需要从扩展文件夹中删除 composer.json,因为 6.2 无法处理 "real composer requirements"(即非 TYPO3 -扩展包)。
我在我的 TYPO3 扩展中集成了一个 Service Worker 用于接收推送通知。
现在我想要将消息从后端发送到客户端 web-push-php Library。
但是如何将库及其依赖项集成到 TYPO3 中呢?
如果您使用 Composer 设置您的项目,您可以只需要 minishlink/web-push
并开始使用 class Minishlink\WebPush\WebPush
.
如果您 运行 正在 "legacy" 模式(即 classic install without composer)或者想要同时支持这两种模式,您将需要不同的方法。 IMO 最佳实践是将作曲家要求捆绑在 .phar
文件中 - 这样您就可以保持 IDE 干净并减少 VCS 占用空间。有一个博客 post 详细描述了 phar bundling in TYPO3 extensions。
此方法适用于遵循 PSR-0 或 PSR-4 的大多数作曲家要求,并且在您的情况下应该可行,因为 minishlink/web-push
似乎遵循 PSR-4。
您甚至可以通过使用脚本来推进这一点,您可以通过 运行ning composer run <script>
在扩展的根文件夹中启动。 TYPO3 扩展 typo3_console
包含 composer.json
定义此类脚本。
如果您需要在 TYPO3 6.2 环境中 运行 您的扩展,您需要从扩展文件夹中删除 composer.json,因为 6.2 无法处理 "real composer requirements"(即非 TYPO3 -扩展包)。