11

我是 Symfony2 的新手。来自 Zend 背景,我没有看到任何模型文件夹。模型和控制器如何通信?

如果我不想使用 Doctrine 怎么办。即使我使用 Doctrine,模型将住在哪里以及它们如何与控制器通信?

Symfony 网站上有一些关于 symfony2 的很好的文档,但它与我注意到的 symfony1.X 的文档不同。官方文档没有说明在使用不同的学说方法时应该添加哪些命名空间。提前感谢社区的提示。

4

2 回答 2

17

您可以手动创建模型。

型号

  • 在你的包中创建新目录(模型)
  • 创建我的模型

  • 设置命名空间 (company\mybundle\models)

  • 设置 Doctrine 和使用实体(使用
  • 在您的模型中放置DQL

控制器

  • use company\mybundle\models\mymodel;

    public function getRecentUserAction ($max = 10)  
    {
         $user = new MyModel();
         $list = $user->getRecentUser($max) // DQL
        return $this->render('CompanyBundle:controller:index.html.twig',array('list'=>$list));
    }
    
于 2013-09-15T14:45:45.393 回答
6

Symfony2 实际上是为控制器部分、视图部分提供工具,而不是模型部分。您可以手动创建模型或使用任何其他工具,如 ORM。

——法比恩·波滕西尔(来源

但是我如何在没有模型的情况下与数据库通信呢?

你可以选择你的方式来做这件事。您可以创建自定义模型并使用它们,也可以使用 DataMappers 或其他东西。Symfony2 标准版包括 Doctrine 和 Propel ORM。默认情况下使用教义。

在此处阅读有关这些 ORM 以及如何在 Symfony2 中使用它们的更多信息:教义推进

于 2012-11-06T21:47:15.847 回答