一切都取决于您需要什么功能。
如果您只想显示键的值,您的代码应如下所示:
聪明的修饰符:
function smarty_modifier_user_display($member, $field="name")
{
// sql searching user
$user = array("name" => 'XXX', "id" => $member.'222', "email" => 'my@example.com');
return $user[$field];
}
Smarty 模板文件:
{assign var=member value="3"}
{$member|user_display}
{$member|user_display:"name"}
{$member|user_display:"id"}
{$member|user_display:"email"}
但是当你有你展示的修饰符时:
function smarty_modifier_user_display($member)
{
// sql searching user
$user = array("name" => 'XXX', "id" => $member.'222', "email" => 'my@example.com');
return $user;
}
Smarty 模板文件应如下所示:
{assign var=member value="3"}
{assign var=my_user value = $member|user_display}
{$my_user.name}
{$my_user.id}
{$my_user.email}
您在使用修饰符时当然应该小心 - 我不知道您从什么来源为您的用户获取数据。但是,如果您从数据库中执行此操作,则不应每次都查询数据库,因为当您启动修饰符几次时,您的数据库将不必要地查询多次而不是一次。