カスタム検索

controllers/(コントローラ)

index.php(フロントコントローラ)で指定したディレクトリにコントローラとなるファイルを置く。

ファイル名は、『コントローラ名』+『Controller.php』とする。コントローラ名の頭文字は大文字とする。

以下はIndexController.phpの例。

IndexController.phpの例
<?php
/**
 * IndexController(デフォルトコントローラ)
 */

// Zend_Controller_Actionをロード
require_once 'Zend/Controller/Action.php';

class 
IndexController extends Zend_Controller_Action
{
    
// index(デフォルト)アクション
    
public function indexAction()
    {
        
// 何らかのコード
        
echo 'IndexController::indexAction';
    }
}  

コントローラ名(クラス名)は、『コントローラ名』+『Controller』とする。コントローラ名の頭文字は大文字とする。つまり、ファイル名の.phpを除いた形式。コントローラは、Zend_Controller_Actionを継承する。

アクション名(メソッド名)は、『アクション名』+『Action』とする。このアクションの中になんらかのコードを記述する。例では、確認のためにechoを記述してみたが、これは普通、Viewで行う。

このIndexControllerのindexActionを呼び出すには、『http://peabox.com/index/index/』のようにアクセスする。ただし、IndexControllerはデフォルトのコントローラ、indexActionはデフォルトのアクションなので、『http://peabox.com/』と省略した場合にも呼び出される。

以下は普通の(デフォルトではない)コントローラの例。

BlogController.phpの例
<?php
/**
 * BlogController
 */

// Zend_Controller_Actionをロード
require_once 'Zend/Controller/Action.php';

class 
BlogController extends Zend_Controller_Action
{
    
// index(デフォルト)アクション
    
public function indexAction()
    {
        
// 何らかのコード
        
echo 'BlogController::indexAction';
    }

    
// detailsアクション
    
public function detailsAction()
    {
        
// 何らかのコード
        
echo 'BlogController::detailsAction';
    }
}  

このBlogControllerのindexActionを呼び出すには、『http://peabox.com/blog/index/』のようにアクセスする。ただし、indexActionはデフォルトのアクションなので、『http://peabox.com/blog/』と省略することもできる。もちろん、detailsActionを呼び出すには、『http://peabox.com/blog/details/』のようにアクセスする。

レンタルサーバーなら使えるねっと
CopyLeft 2010 PEABOX.COM サイト管理者に連絡