在我聪明的代码中,我编写了很多代码,例如:
$smarty->assign('priorityList', $priorityList);
$smarty->assign("groupview", $groupview);
$smarty->assign('processList', key($processList));
$smarty->assign('taskList', $taskList);
看看它变得多么烦人;我对Smarty变量和PHP变量使用相同的名称,但我需要浪费时间和打字来连接两者。
我可以设置任何选项,以便智能变量自动映射到具有相同名称的PHP变量吗?
答案 0 :(得分:17)
使用compact。
$smarty->assign(compact('priorityList', 'groupview', 'processList', 'taskList'));
答案 1 :(得分:0)
我更喜欢只使用一个数组,在创建smarty对象时由ref聪明地分配,然后仅由ref分配数组。将变量作为数组的索引,可以使工作变得更加简单。
$smarty->assignByRef('PAGE_DATA',$page_data,false);
然后稍后您可以使用$page_data
分配变量,并将其映射到smarty模板中的“ PAGE_DATA”。
这些只是我的个人喜好,请使用适合您的喜好
并且由于您拥有assignbyref $page_data
,因此您不必担心忘记分配它。
我发现的另一个巨大优势是,由于您使用的所有变量都包含在数组中,因此调试非常容易,只需打印出数组($PAGE_DATA
),然后poof,所有变量都被列出< / p>
$page_data['PAGE_TITLE'] = 'Home';