【发布时间】:2019-03-12 22:58:06
【问题描述】:
我正在处理多个项目,每个项目都在我的服务器中与其他项目分开。所以我的问题是我有一个核心项目,它具有我需要的所有功能,而在 Laravel 项目中,每次都复制/粘贴所有内容很烦人。我正在考虑创建一个包并通过 composer 将其安装在我的所有 Laravel 项目中,但让我感到困扰的是,每次我想添加一个功能或执行一个小错误修复时,我都必须在每个项目(实际上我有 20 多个)。
我刚刚提出了一些想法,请告诉我您对此有何看法以及您是否会使用一些不同的想法:
- 直接从服务器创建一个包含我的主要 php 核心库的模型/类(请记住,我在同一服务器中拥有所有项目)。我只需要调用模型/类,它就会导入所有函数。每次执行小错误修复或任何新实现时,我都需要保持更新主库代码。
- 创建一个包,其中包含我可能需要在所有项目中使用的所有代码(主库)。这将是完美的,因为我只想使用 composer install 命令将包安装在我的项目中。我根本不关心这个解决方案,因为我有 20 多个不同的项目,每次执行小错误修复或新实现时,我都需要进行 20 多个 composer 更新。
- 最后一个是做一个通用的composer,它包含我需要的所有包(几乎所有项目都使用相同的composer.json)并在所有项目之间创建一个符号链接。我会将软件包安装在一个文件夹中,并在每次执行一些新任务时保持更新,并且符号链接将在每个项目中保持文件夹更新。
您如何看待这些选项?我想我会选择第三个,但想知道您的意见,或者您是否有同样的问题并使用其他解决方案。
【问题讨论】:
-
您可以符号链接您需要的文件夹。或使用laravel-tenancy.com
-
@kerbholz 我从来没有听说过,我会看看。谢谢!
标签: php laravel composer-php package