0

我正在寻找 symfony 2 中模块化应用程序的最佳实践。到目前为止,我的应用程序被分为 2 个包(前包和后包)。但是现在,我想将我的应用程序划分为更多模块。例如,一个用于用户管理的捆绑包,下一个用于产品(包括类别)的捆绑包,下一个用于页面管理的捆绑包等等......

问题在于每个捆绑包的实体。以某种方式存在,如何将实体分配到其捆绑包中?我的意思是用户实体进入用户包,产品和类别实体进入产品包等等。

编辑:

我使用学说控制台生成实体。但是我没有找到任何参数来从我的数据库中生成几个实体。这种方式对吗?或者我必须手动编写实体?

我需要这样的想法来重用捆绑包。

感谢您的任何提示;)

4

3 回答 3

0

我认为你把事情复杂化了。像管理实体这样简单的事情不应该仅仅为此而拥有完整的捆绑包。一个包可以容纳 40 多个实体是完全可以的。

您可以使用另一个捆绑包就像这个例子:

表单包将用于外观精美的表单、自动完成字段、图像上传器、图像调整器等。比在您的主应用程序表单中,您可以执行以下操作:

$builder->add("Users", "my_fancy_autocomplete_collection", [
   "type"=>new UserType(),
   "autocomplete_route_name"=>"suggest_users"  // controller route          
]) ;

为了显示,它可能类似于:http ://welldonethings.com/tags/manager (我找到的第一个)

那种花哨的类型必须有一些 DataTransformer,它将显示数据转换为从数据库中获取的真实用户。一次学习所有这些东西有点棘手,但是一旦你这样做了,你就可以在其他应用程序中使用相同的包。

于 2013-06-19T12:37:05.677 回答
0

当我开始一个 symfony 2 项目时,这是我关于 bundles 的逻辑:

  • 为我的应用程序创建一个包(当然使用 CLI)
  • 如果我可以在其他项目中重用它们,请创建其他捆绑包

因此,正如@Zeljko 所说,请三思而后行定义捆绑包的项目范围。

之后很简单,使用正确的命名空间在 bundle 中创建实体(例如:Company\Nomdubundle\Entity)。

于 2013-06-19T18:37:27.107 回答
0

我在这里找到了灵魂(有一个参数--filter) 使用 symfony2 和教义从现有数据库生成单个实体

感谢您的提示。

于 2013-06-21T09:06:59.960 回答