Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 5:共享一个;应用逻辑模型“;项目之间的文件夹_Laravel_Composer Php - Fatal编程技术网

Laravel 5:共享一个;应用逻辑模型“;项目之间的文件夹

Laravel 5:共享一个;应用逻辑模型“;项目之间的文件夹,laravel,composer-php,Laravel,Composer Php,你好,Laravel开发者 让我的laravel项目的逻辑模型保持一致让我感到非常紧张,你可以帮助我: 以下是上下文: 我得到了4个不同的laravel(v5.3)项目 所有的项目都使用一组类,我称之为“逻辑模型” 所有项目都在实现这一逻辑模型,在所有4个项目中都是冗余的 在开发过程中,保持这些逻辑模型相等是很有压力的 问题是: 我如何使用laravel包含一个“共享的”[类文件夹|独立的laravel项目]tp|U逻辑|模型,因此开发将以如下文件夹结构结束: 而所有项目都在tp_lo

你好,Laravel开发者

让我的laravel项目的逻辑模型保持一致让我感到非常紧张,你可以帮助我:

以下是上下文:

  • 我得到了4个不同的laravel(v5.3)项目
  • 所有的项目都使用一组类,我称之为“逻辑模型”
  • 所有项目都在实现这一逻辑模型,在所有4个项目中都是冗余的
  • 在开发过程中,保持这些逻辑模型相等是很有压力的
问题是:

  • 我如何使用laravel包含一个“共享的”[类文件夹|独立的laravel项目]tp|U逻辑|模型,因此开发将以如下文件夹结构结束:
而所有项目都在tp_logic_model文件夹中包含实现的类

我使用composer来管理外部包,但我不想托管新的composer包来共享逻辑

有没有一种简单的方法来实现这种行为


  • 我希望你能理解我的需求

  • 当然,这是一个开发舒适度问题,但它很容易理解,也许人们对此感兴趣


也许您可以使用git子模块


如果这四个项目位于同一台服务器上。实现这一点最简单的方法可能是通过符号链接

假设您将共享逻辑代码保存在
project1
上的
/var/www/project1/tp\u logic\u model
。要在
project2
上共享,只需在
project2
目录中创建一个指向共享逻辑代码的符号链接:

ln -sfv /var/www/project1/tp_logic_model /var/www/project2/tp_logic_model
您仍然可以在每个项目上配置
composer.json
,以自动加载
tp\u logic\u model
目录中的类,即使它实际上只是一个符号链接

// composer.json on project2, autoload from symbolic link
{
  ...
  "autoload": {
    "psr-4": {
      "Shared\\": "tp_logic_model"
    }
  }
}

希望这有帮助。

我已经创建了一个分步教程,用于在多个应用程序之间共享应用程序逻辑模型(雄辩)。它将在私有GitHub存储库上发布一个包,该存储库可以进一步用作编写器依赖项


希望这能有所帮助。

这似乎是一个相当多的工作:o也许有一种更简单的方法可以将其制作成一个作曲家软件包。听起来绝对是一个完美的软件包。但是,为什么反对一揽子计划呢?它实际上是一个存储库,在composer.json中有几行,您就已经设置好了。这正是我想要的。谢谢!