在我的Symfony 1.4项目中,到目前为止,以下是我在操作中使用i18n setflash消息的方法:
$message = $this->getContext()->getI18N()->__('message’);
$this->getUser()->setFlash('notice', $message);
但我刚刚找到了一种最简单的方法。这是我在projectconfiguration类中使用的代码:
public function setup()
{
$this->loadHelpers(array('I18N'));
}
然后是我在我的行动中使用的代码:
$this->getUser()->setFlash('error', __('message'));
对我来说,它非常方便,因为我不必在任何地方使用getContext-> getI18N,但我想知道使用这种方法是否有缺点?
答案 0 :(得分:2)
我总是在很多项目中使用这种方法,但我没有看到任何缺点。
助手在这里为我们提供了一系列有用的功能。一些助手的函数返回html所以(impov)它们专用于模板,但是在I18N或Date的情况下,将它们放在一个动作中会很有用。
如果您不想在全局视图中加载助手,可以使用:
sfApplicationConfiguration::getActive()->loadHelpers(array('I18N'));