在没有映射到Symfony2中的数据库的情况下,我应该将业务逻辑放在何处?

时间:2013-08-15 08:45:57

标签: symfony business-logic

我在Symfony2中创建了一个包含我的webapp的包。在那里,我有一些实体映射到我的MySQL数据库。它们位于Acme\MyBundle\Entities

现在我已经创建了一些我不会在MyBundle中使用的辅助类,所以我将它们外包到一个单独的包中(例如Acme\MyHelperBundle)。直到这里一切都很清楚。

但是我在哪里放置业务逻辑文件?我把它们放入

  • Acme\MyHelperBundle\Entities
  • Acme\MyHelperBundle\Resources
  • Acme\MyHelperBundle\Resources\src
  • 或任何其他位置?

这些帮助程序类的名称空间是什么?

2 个答案:

答案 0 :(得分:3)

创建一个模型文件夹,然后创建一个类,您可以在其中放置业务逻辑并创建该类的服务,并在项目的任何位置使用这些类。

答案 1 :(得分:1)

我认为没有真正的规则。 如果你的助手类被声明为服务(我想如果你想在你的所有包中使用它们),你可以创建一个Manager文件夹。因此,当我在一个捆绑并且有一个经理时,我知道我有一些逻辑可以在任何地方重复使用。

这也取决于你把你的文件放在什么位置,但是如果它是一个帮助器,比如你在其上创建一些新请求的UserManager.php(并将它声明为服务),那么Manager文件夹就是一个好地方开始。

您可以在许多包中找到此文件夹管理器,例如fosElasticaBundle

ps:对不起我的英语,我希望它足够清楚:)