Php symfony2中没有数据库访问权限的模型

Php symfony2中没有数据库访问权限的模型,php,symfony,Php,Symfony,我目前正在学习如何使用该框架 经历了这段时间,我开始对所有东西是如何组合在一起有了一个基本的理解 但是,我有两个关于实体的问题,我认为这些实体是MVC模式中的模型: 在文档中,似乎有很多关于实体使用条令作为ORM的讨论。如果我有一个不需要任何ORM的实体/模型,这是否仍然被视为“实体” 在我看到的大多数教程中,实体通常都被放入应用程序包下名为“entities”的文件夹中。由于一个应用程序中有许多实体,我觉得这会变得非常混乱和无序。如何对实体进行分组和组织 干杯:)当您告知您有一个不需要任何

我目前正在学习如何使用该框架

经历了这段时间,我开始对所有东西是如何组合在一起有了一个基本的理解

但是,我有两个关于实体的问题,我认为这些实体是MVC模式中的模型:

  • 在文档中,似乎有很多关于实体使用条令作为ORM的讨论。如果我有一个不需要任何ORM的实体/模型,这是否仍然被视为“实体”

  • 在我看到的大多数教程中,实体通常都被放入应用程序包下名为“entities”的文件夹中。由于一个应用程序中有许多实体,我觉得这会变得非常混乱和无序。如何对实体进行分组和组织


干杯:)

当您告知您有一个不需要任何ORM的实体/模型时,您的意思是:

  • 该模型非常简单,因此您可以构建自己的数据库查询,或者:
  • 数据可以存储到常规文件中
?

如果这是第一种情况,您可以根据需要管理它,但是使用ORM是一种很好的做法

如果这是第二种情况(我假设),那么最好还是创建实体类。只需在类中以不同的方式链接到数据。您可以搜索文件,而不是查询数据库

通过这样做,您可以保留最佳实践,如果有一天您想要切换到DB模型,您只需更改这些类

为了回答你的第二个问题,我有一个50多个实体的模型,这并没有造成混乱。在Entities类中,我告诉用户在哪里可以找到实体关系模型,这一点很清楚


这对您有帮助吗?

关于如何组织模型类的问题:

您可以将子文件夹添加到“实体”文件夹中,然后只需遵循命名空间定义中的scructure,如:

<?php

namespace Acme\SampleBundle\Entity\Subfolder\EntityClass

实体是存储在关系数据库中的模型。文档是存储在文档数据库(例如MongoDB)中的模型

如果您不想根据所使用的存储类型将模型弯曲到特定的名称空间,下面是我的建议。为模型类创建
模型
命名空间。如果选择使用关系数据库,则可以扩展模型类并将其放入
实体
命名空间中,在外部文件中提供映射信息。如果以后决定移动到文档数据库,也可以使用
文档
名称空间


关于这个想法的一个很好的例子,请参见。

我不使用ORM的意思是,一些实体根本不会接触数据库,相反,它们可能会读写文件或其他存储。谢谢,我不知道Dority可以做到这一点。如果我希望我的实体处理和验证某些数据,但它不保存数据,而是通过电子邮件发送数据,那么情况又如何呢。在这种情况下,我应该仍然使用EntityManager吗?
<?php

public function sendByEmail() {

// Do stuff
}