gpt4 book ai didi

php - Symfony2 和其他 MVC 框架中的模型?

转载 作者:可可西里 更新时间:2023-10-31 22:12:04 24 4
gpt4 key购买 nike

我试图了解模型如何在适当的 MVC 中工作。

据我所知,MVC 中的模型是应用程序逻辑发生的地方,模型是 MVC 的核心或 Backbone 。 View 只是表示, Controller 是“胶水”,它要求模型执行一些操作、返回一些数据,并将该信息传递给呈现给用户的 View 。

现在,我正在探索各种不同的 MVC 框架,并想了解如何在 MVC 中使用模型。就模型而言,Symfony 2 是一个有趣的框架,因为没有模型:)

我在掌握 Symfony2 的一些特性时遇到问题,以及模型在 Symfony2 MVC 中的位置。

根据定义,模型是领域逻辑和数据库操作所在的地方。

所以我的问题是:

  1. 在 Symfony2 中我们有实体和服务,这两个是 Symfony 中的模型吗?
  2. Symfony2 服务和 Web 服务有什么区别?

所以我的问题是 Symfony2 中的模型在哪里?由于模型是一层,由领域对象和数据映射器组成,那么我可以假设实体是领域对象,而教义是数据映射器,对吗?

Symfony2 服务适合什么地方?

最佳答案

  1. Symfony2 不像其他框架那样具有 MVC 的传统“模型”部分。甚至来自 ORM/ODM Doctrine 的实体/文档也不是框架本身的一部分,Symfony2 也不依赖于它。

    正如 Fabien(Symfony 框架的创造者)在他的 blog 上写的那样,

    "It's up to you to create your model by hand or use any other tool, like an ORM" ... "I don't like MVC because that's not how the web works. Symfony2 is an HTTP framework; it is a Request/Response framework."

    我只是阅读很难理解,但当我真正开始使用 Symfony2 编程时,我明白了他的意思。

    另一方面,Symfony2 中的服务只是一个执行全局任务的对象。 Router、doctrine、logger、mailer 是 Symfony2 预装的众多服务中的一部分。您可以从代码的任何部分访问服务。

  2. Symfony2 服务与网络服务完全不同。 Symfony2 服务旨在在您的系统内使用,而 Web 服务旨在通过 REST api 在机器之间使用。虽然,我想您可以创建 RESTful api 作为您服务的一部分。

关于php - Symfony2 和其他 MVC 框架中的模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13121104/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com