アクションコントローラの基本

init()
preDispatch()
postDispatch()
処理の順番
アンダーバーとハイフン
コントローラに関するエラー

コントローラは基本的に次のようなコードになります。

<?php

class [コントローラ名(先頭1文字は大文字)]Controller extends Zend_Controller_Action
{

    public function init()
    {

    }

    public function preDispatch()
    {

    }

    public function postDispatch()
    {

    }

    public function [アクション名]Action()
    {

    }

}

init()

初期化

preDispatch()

各アクション共通の前処理

postDispatch()

各アクション共通の後処理

処理の順番

init()
 ↓
preDispatch()
 ↓
[アクション名]Action()
 ↓
postDispatch()
 ↓
View

のようになります。

アンダーバーとハイフン

アンダーバー/アンダースコア『 _ 』はスラッシュ(ディレクトリ区切り)として扱われます。

URLhttp://www.example.com/abc_def/
コントローラファイルcontrollers/Abc/DefController.php
コントローラクラスAbcDefController
ビューファイルabc/def/index.phtml

ハイフン『 - 』はアクションコントローラでは省略されます。

URLhttp://www.example.com/abc-def/
コントローラファイルcontrollers/AbcDefController.php
コントローラクラスAbcDefController
ビューファイルabc-def/index.phtml

コントローラに関するエラー

コントローラファイル(〜Controller.php)が見つからない。

Invalid controller specified (【コントローラ名】) 

コントローラの中にクラスが見つからない。

Invalid controller class ("【コントローラ名】")
定数DOCTYPE
XHTML11XHTML 1.1
XHTML1_STRICTXHTML 1.0 Strict
XHTML1_TRANSITIONALXHTML 1.0 Transitional
XHTML1_FRAMESETXHTML 1.0 Frameset
XHTML_BASIC1XHTML Basic 1.0
HTML4_STRICTHTML 4.01
HTML4_LOOSEHTML 4.01 Transitional
HTML4_FRAMESETHTML 4.01 Frameset
HTML5<!DOCTYPE html>
CUSTOM_XHTML
CUSTOM

関連記事

スポンサーリンク

TortoiseHg MercurialのGUIクライアント

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る