Laravel 5:在项目

时间:2018-03-10 20:21:50

标签: laravel composer-php

Hello Laravel Developer,

我非常强调保持我的laravel项目的逻辑模型是平等的,你可以帮助我:

这是上下文:

  • 我有4个不同的laravel(v5.3)项目
  • 所有项目都在使用一堆类,我称之为“逻辑模型”
  • 所有项目都在所有4个项目中实施此逻辑模型
  • 保持这些逻辑模型的平等是在开发时的压力

以下是问题:

  • 如何使用laravel包含“共享”[类的文件夹|单独的laravel项目] tp_logic_model,所以开发将以这样的文件夹结构结束:

enter image description here

所有项目都在tp_logic_model文件夹中包含已实现的类。

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

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


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

  • 原因这是一个开发安慰问题,但它易于理解,也许人们感兴趣。

3 个答案:

答案 0 :(得分:2)

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

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

ln -sfv /var/www/project1/tp_logic_model /var/www/project2/tp_logic_model

您仍然可以在每个项目上配置composer.json以自动加载tp_logic_model目录中的类,即使它实际上只是一个符号链接。

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

希望这有帮助。

答案 1 :(得分:1)

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

https://ambujsoni.medium.com/share-laravel-eloquent-models-between-multiple-applications-179d8f31078c

希望这会有所帮助。

答案 2 :(得分:0)

也许你可以使用git子模块?

https://git-scm.com/book/en/v2/Git-Tools-Submodules