FlashHelper
class FlashHelper(View $view, array $config = [])
Added in version 2.7.0
SessionHelper::flash() を置き換えました。
FlashHelper は、 FlashComponent によって $_SESSION にセットされたフラッシュメッセージを表示するために使用します。 FlashComponent と FlashHelper は、 主にフラッシュメッセージを表示するためのエレメントを使用します。 Flash エレメントは、 templates/Elements/Flash ディレクトリの配下に配置されます。 CakePHP 本体には default.ctp、success.ctp、error.ctp のエレメントが用意されています。 同じ名前のファイルをこのディレクトリに作成すると、それらを上書きできます。
FlashHelper は、非推奨となった SessionHelper の flash() メソッドを 置き換えるヘルパーです。
フラッシュメッセージの表示
フラッシュメッセージを表示するためには、FlashHelper の render() メソッドを 使用します。
<?php echo $this->Flash->render() ?>デフォルトでは、CakePHP は、フラッシュメッセージのためにセッション中の "flash" キーを 使用します。しかし、 FlashComponent の中でフラッシュメッセージを設定した時にキーを指定した場合、そのキーを指定して表示します。
<?php echo $this->Flash->render('other') ?>FlashComponent 内で設定したオプションを上書きすることができます。
// コントローラの中で
$this->Flash->set('The user has been saved.', [
'element' => 'success'
]);
// ビューの中で、 success.ctp の代わりに great_success.ctp を使用
<?php echo $this->Flash->render('flash', [
'element' => 'great_success',
]);NOTE
CakePHP は、デフォルトではフラッシュメッセージ中の HTML はエスケープしません。 もし、リクエストやユーザーデータをフラッシュメッセージに含める場合は、 メッセージを整形するときに h でエスケープするべきです。
Added in version 2.10.0
フラッシュ は 2.10.0 ではメッセージを積み重ねます。 複数のフラッシュメッセージをセットした場合、 render() を呼び出すと、各メッセージは メッセージが設定された順序で、それ自身の要素で描画されます。
利用可能なオプション配列に関する詳しい情報は、 FlashComponent セクションをご覧ください。
