在Symfony 1.4 ProjectConfiguration类中使用loadHelpers I18N有缺点吗?

时间:2012-04-25 12:03:24

标签: php internationalization symfony-1.4

在我的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,但我想知道使用这种方法是否有缺点?

1 个答案:

答案 0 :(得分:2)

我总是在很多项目中使用这种方法,但我没有看到任何缺点。

助手在这里为我们提供了一系列有用的功能。一些助手的函数返回html所以(impov)它们专用于模板,但是在I18N或Date的情况下,将它们放在一个动作中会很有用。

如果您不想在全局视图中加载助手,可以使用:

sfApplicationConfiguration::getActive()->loadHelpers(array('I18N'));