首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Symfony2中构造模型和使用原理

如何在Symfony2中构造模型和使用原理
EN

Stack Overflow用户
提问于 2016-12-09 11:40:01
回答 2查看 379关注 0票数 0

我切换到Symfony的一个项目,我正在工作,但我需要一点建议,如何构建文件时,涉及到模型和使用理论。

我使用了一个自定义框架,它反过来使用MVC模型。我的MYSQL数据库查询几乎都存储在模型中,我通过控制器访问它们。

现在,在查看Symfony2之后,我的解释是,Symfony中的“模型”文件被称为Servies。这是正确的吗?

我还生成了一些与我的MYSQL数据库相对应的实体。我的问题是,我是将我的自定义Doctrine查询放在服务文件中,还是在实体文件中创建它们?

我有点不知道该怎么安排这个。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-09 12:23:10

几乎我所有的MYSQL数据库查询都存储在模型中。

这很糟糕,但我稍后再提。

现在,在查看Symfony2之后,我的解释是,Symfony中的“模型”文件被称为Servies。这是正确的吗?

查询应该在存储库中完成,或者在某些情况下在服务中执行。如果查询返回实体,那么它肯定是存储库。

我的问题是,我是将我的自定义Doctrine查询放在服务文件中,还是在实体文件中创建它们?

实体应该是普通的PHP对象。他们不应该比其他实体更依赖任何东西。实体实际上根本不知道任何关于数据库的事情。它是纯面向对象的业务逻辑。

同样,所有DB查询都应该位于存储库或服务中。

我建议先看一下“塞弗尼之路”,了解一下“塞弗尼之路”是如何工作的。

票数 4
EN

Stack Overflow用户

发布于 2016-12-09 14:19:00

Symfony是 MVC框架:

Symfony2实际上是为Controller部件、视图部分提供工具,而不是为模型部分提供工具。Symfony2是一个HTTP框架;它是一个请求/响应框架。

而且很棒。Symfony允许不受任何限制地根据您的意愿制作您的模型。Doctrine (ORM和/或DBAL)是一组单独的库。您可以使用任何其他库,也可以构建自己的持久性层抽象,也可以通过PDO/MySQLi/等等使用本机SQL。

服务只是一个在容器中注册并有一些依赖项的对象。服务机构可以做任何事。它们可以表示您的模型,但这不是一个要求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41059653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档