目次

遷移先定義を省略する

遷移先定義を省略する

遷移先を定義する場合、厳密にはコントローラの$forwardメンバ変数に以下のようなエントリを追加する必要があります。

'some_action' => array(
       'view_name' =>'Sample_View_Login',
       'forward_path' => 'login.tpl',
    ),

しかし,アクションを1つ作るたびにこのような定義を記述するのは煩雑なので、アクション定義と同様に遷移先定義も省略することが可能です。

実際には以下のように遷移先定義を省略することが出来ます。

'some_view' => array(),

さらに、これさえも面倒な場合はコントローラへの遷移先定義そのものを省略することも可能です。

// 何もなし

遷移先定義の省略方法

  1. 遷移名に対応するビュースクリプトを作成する
  2. 遷移名に対応するテンプレートを作成する
  3. 1.で作成したファイルにビュー名に対応するビュークラスを定義する

とう3つの手順だけでOKです。

遷移名が"some_action_name"だとすると、ビュー定義省略時にインクルードされるビュースクリプト,テンプレートはそれぞれ

view/Some/Action/Name.php
template/ja/some/action/name.tpl

となります("_" -> "/"+先頭1文字を大文字)。

また、ビュークラス名は

{$アプリケーションID}_View_SomeActionName

となりますので、この命名規則に従ってファイルを作成し、クラスを定義しておけば遷移先定義を記述しなくても所定のビューが実行されます。

補足

なお、これらの命名規則はアプリケーションによって好みの形に変更することが出来ます。詳細は下記をご覧下さい。

see also: ビュークラスの命名規則を変更する

また、定義した命名規則に従っていちいちファイルを作成するのが面倒な場合は、binディレクトリに生成されるgenerate_view_script.phpを利用することで、ビュースクリプトのスケルトンを生成することが出来ます。

see also: ビュースクリプトのスケルトンを生成する

※ ビュークラスが不要な場合(単純にテンプレートを表示したい場合等)は、ビュークラスの記述を省略することも可能です。