实体仅在配置为这样做时才映射到数据库表,从书中读取:
该类——通常称为“实体”,意思是保存数据的基本类——很简单,有助于满足应用程序中需要产品的业务需求。http://symfony.com/doc/current/book/doctrine.html#creating-an-entity-class
以比使用简单数组更正式的方式对数据建模是一种很好的做法,这就是它们存在的原因。
也许它们最常用于将数据映射到数据库,但这不是必需的。它们实现了作为数据容器的目的,以一种有意义的方式对应用程序的信息进行建模。(即在用户实体中对用户建模)
如果您不使用数据库来持久化您的实体,请随意使用它们来传递数据、创建表单、使用验证服务、安全性等等。创建一个服务以允许从 Symfony 应用程序访问 Web 服务上的信息也是一个好主意,这样您就可以拥有类似的东西:
$user = $this->get('some_persistance_service_you_write')->find($id,'user');
$user->setName('new value');
$err = $this->get('validator')->validate($user);
//....
$this->get('some_persistance_service_you_write')->persist($user);
当然,这是题外话,但它是一个示例,说明如何使用没有数据库访问权限的实体。