我是Symfony2的新手。来自Zend背景,我看不到模型的任何文件夹。模型和控制器如何交流?
如果我不想使用学说怎么办。即使我使用学说,模型将在哪里生活,以及如何与控制器进行通信?
Symfony网站有一些关于Symfony2的很好的文档,但它与我注意到Symfony1.x的文档不相同。官方文档使用不同的学说方法时没有添加哪些名称空间。感谢社区提示的提示。
您可以手动创建模型。
模型:
- 在捆绑包中创建新的dir(型号)
-
创建mymodel
-
set 名称空间(公司 mybundle models)
- 设置学说并使用实体(使用)
- 在您的模型中put dql
控制器:
-
use companymybundlemodelsmymodel;
public function getRecentUserAction ($max = 10) { $user = new MyModel(); $list = $user->getRecentUser($max) // DQL return $this->render('CompanyBundle:controller:index.html.twig',array('list'=>$list)); }
Symfony2实际上是为了为控制器部分(视图部分)提供工具,但不是模型部分。由您手工创建模型或使用任何其他工具,例如ORM。
,取决于您。- Fabien Pitencier(来源)
但是如何在没有模型的情况下与数据库进行通信?
您可以选择自己的方式。您可以创建自定义模型并使用它们,也可以使用datamappers或其他东西。Symfony2标准版包括学说和推进ORM。默认使用学说。
在此处阅读有关这些ORM的更多信息以及如何在Symfony2中使用它们:学说或Propel。