gpt4 book ai didi

php - 如何与多个项目共享 Symfony2 模型

转载 作者:IT王子 更新时间:2023-10-29 00:05:56 24 4
gpt4 key购买 nike

我们正在创建一个监控特定 Assets 的 SaaS。这意味着它接收数据、保存数据并将其显示在网络界面中。

为此,我们有一些我们创建的组件/正在迁移到 Symfony2:

  • 一个前端网络应用程序,用户可以在其中查看他们的数据
  • 一个后端管理网络应用程序,我们可以在其中创建新的监视器、用户等。
  • API
  • 一个从队列中检索接收到的数据并将其放入我们的数据库的应用程序(现在这是一个单独的脚本,但我正在考虑将其重新设计为由 cron 调用的 Symfony 命令)

所有这四个应用程序共享相同的模型:我们的主数据库包含所有用户、监视器和数据。

我的问题是:我应该如何在 Symfony2 中构造这些项目

  1. 我是否创建一个单独的包来保存我的数据库的实体,并让四个项目包含这些实体并使用它们?
  2. 我可以在我的 Symfony 应用程序文件夹中创建一个“model”目录,它被我的/src 目录中的所有包使用吗?
  3. 还有其他更简洁的方法吗?

选项 1 似乎有点奇怪,因为根据我的理解,一个包需要路由、 View 、 Controller 等。仅将它用于实体会有点奇怪。

选项 2 似乎没问题,因为对于/src 文件夹中的所有内容,/app 文件夹无论如何都被认为是“公用的”(因为,例如,参数也驻留在其中)。但是,那里没有“模型”文件夹,我不确定是否应该有?

我知道 Symfony 2 已经很少有“最佳实践”了,因为它是全新的。但我想看看在您看来是否有比其他做法更可取的做法。

欢迎任何反馈。提前致谢,

节食者

最佳答案

我目前正在做的是第一个选项:为您的实体创建一个单独的包。那是我存储固定装置、实体、表单和实体相关测试的地方。

bundle NOT 需要路由、 Controller 、 View 等。我实际上看到了一个 blueprint bundle,它所做的只是随附 blueprint-css 资源,因此它们可以很容易地在项目中重用。

至于将模型添加到应用程序目录……我不喜欢那样。我将 app 目录视为所有配置都应该放在的地方。尽管您可以覆盖 app/Resources 下的 View ,但每当我想覆盖某些内容时,我都会创建一个新包。

关于php - 如何与多个项目共享 Symfony2 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7503264/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com