【发布时间】:2014-09-23 09:06:58
【问题描述】:
在我的 symfony2 项目中,我需要在许多控制器中调用相同的操作,并且该操作应该返回一个非常简单的 php 数组,然后这些控制器会将其传递给 twig 模板。我该怎么做?
一个实际的例子可以更好地解释我的情况。
1.共享控制器
// Acme/DemoBundle/Controller/MetasController
class MetasController extends Controller {
public function metasAction() {
$myArray= array();
return $myAarray;
}
}
-
页面渲染控制器
// Acme/DemoBundle/Controller/PageController class PageController extends Controller { protected $property = "test"; public function indexAction() { $metas= $this->forward('AcmeDemoBundle:Metas:metas'); return $this->render('AcmeDemoBundle:Page:index.html.twig', array('property'=>property, 'metas'=>$metas)); } }
当我这样做时,我得到一个错误:控制器必须是一个给定的响应数组。
【问题讨论】:
-
不要转发它,因为第二个函数似乎不是一个实际的控制器,而只是一个返回数组的泛型类。相反,把它变成一个普通的类,然后调用这个方法。为什么它首先在控制器中?
标签: symfony controller response