在为 Symfony 2 编写控制器时,我经常需要将很多变量传递给模板,例如return array('param1' => $param1, 'anotherBigParam' => $anotherBigParam, 'yetAnotherParam' => $yetAnotherParam);
由于有很多参数,这最终会变得又长又丑,所以我考虑为它创建一个辅助函数:
public function indexAction()
{
$param1 = 'fee';
$anotherBigParam = 'foe';
$yetAnotherParam = 'fum';
return $this->vars('param1', 'anotherBigParam', 'yetAnotherParam');
}
private function vars() {
$arr = array();
foreach(func_get_args() as $arg) {
$arr[$arg] = $$arg;
}
return $arr;
}
这样做有什么缺点或风险吗?PHP 或 Symfony 2 是否已经提供了更好或更简洁的方法来实现相同的结果?