多个项目-1个软件包

时间:2018-10-08 09:39:59

标签: php laravel composer-php package

我正在处理多个项目,每个项目都与服务器中的其他项目分开。所以我的问题是我有一个Core项目,该项目具有我所需的所有功能,而在Laravel项目中,每次复制/粘贴所有内容都很烦人。我当时想创建一个程序包,并通过composer将其安装在我的所有Laravel项目中,但这困扰着我一个事实,就是每次我想添加功能或进行次要的bug修复时,我都必须在每个程序中进行composer更新。项目(实际上我有20多个)。

我只是想出了一些主意,请让我知道您对此有何想法,以及您是否会使用其他主意:

  • 直接从服务器创建一个包含我的主要php核心库的模型/类(请记住,我在同一服务器上拥有所有项目)。我只需要调用Model / class,它将导入所有功能。每当执行次要的错误修复或任何新的实现时,我只需要保持更新主库代码即可。
  • 创建一个包,其中包含所有我需要在所有项目中使用的所有代码(主库)。这将是完美的,因为我只想使用composer install命令将软件包安装在我的项目中。我对这个解决方案一点都不担心,因为我有20多个不同的项目,并且每次执行次要的错误修复或新的实现时,都需要进行20多个作曲家更新。
  • 最后一个是做一个通用的作曲家,其中包含我需要的所有软件包(几乎所有项目都使用相同的composer.json),并在所有项目之间创建符号链接。我会将软件包安装在一个文件夹中,并在每次执行一些新任务时保持更新,并且符号链接将使每个项目中的文件夹保持更新。

您如何看待这些选择?我想我会参加第3届,但是想知道您的意见,或者您是否有相同的问题并且可以使用其他解决方案。

1 个答案:

答案 0 :(得分:1)

或者您可以创建一个为所有项目运行composer update的bash脚本。

#!/bin/bash

cd /var/www/website.com && composer update package/name
cd /var/www/website2.com && composer update package/name
cd /var/www/website3.com && composer update package/name