1

私のSymfony1.4プロジェクトでは、これまで、アクションでi18nsetflashメッセージをどのように使用したかを示しています。

$message = $this->getContext()->getI18N()->__('message’);
$this->getUser()->setFlash('notice', $message);

しかし、私はちょうど最も簡単な方法を見つけました。ここに、プロジェクト構成クラスで使用するコードがあります。

public function setup()
{
  $this->loadHelpers(array('I18N')); 
} 

次に、アクションで使用するコードを次に示します。

$this->getUser()->setFlash('error', __('message'));

どこでもgetContext->getI18Nを使用する必要がないので、私にとっては非常に便利ですが、このメソッドを使用することに欠点があるかどうかを知りたいですか?

4

1 に答える 1

2

私は常にこの方法を多くのプロジェクトで使用していますが、欠点は見られませんでした。

ヘルパーは私たちに便利な機能のライブラリを提供するためにここにいます。一部のヘルパー関数はhtmlを返すため、(impov)テンプレート専用ですが、I18NまたはDateの場合は、アクションに含めると便利です。

また、ヘルパーをグローバルビューでロードしたくない場合は、次を使用できます。

sfApplicationConfiguration::getActive()->loadHelpers(array('I18N'));
于 2012-04-25T12:34:32.250 に答える