Yaf_Controller_Abstract クラス

(Yaf >=1.0.0)

はじめに

Yaf_Controller_Abstract は Yaf システムの中心となるクラスです。 MVC は Model-View-Controller の略で、 アプリケーションのロジックと表示のロジックを切り離すためのデザインパターンです。

すべてのカスタムコントローラは Yaf_Controller_Abstract を継承する必要があります。

カスタムコントローラでは __construct を定義できません。そのため、 Yaf_Controller_Abstract ではマジックメソッド Yaf_Controller_Abstract::init() を用意しています。

カスタムコントローラで init() メソッドを定義すると、 コントローラのインスタンスを作成するときにそれが呼ばれます。

アクションには引数を持たせることができます。 リクエストが来たときに、もしリクエストのパラメータ (Yaf_Request_Abstract::getParam() を参照ください) に同名の変数があれば、Yaf はアクションのメソッド (Yaf_Action_Abstract::execute() を参照ください) にそれを渡します。

注意:

これらの引数は何もフィルタリングせずそのまま取り込まれるので、 実際に使う前には注意しないといけません。

クラス概要

abstractclassYaf_Controller_Abstract {
public$actions;
protected$_module;
protected$_name;
protected$_request;
protected$_response;
protected$_invoke_args;
protected$_view;
finalprivate__construct()
protecteddisplay(string$tpl, array$parameters = ?): bool
publicforward(string$action, array$paramters = ?): bool
publicgetInvokeArg(string$name): void
publicgetName(): string
publicinit(): void
publicinitView(array$options = ?): void
publicredirect(string$url): bool
protectedrender(string$tpl, array$parameters = ?): string
publicsetViewpath(string$view_directory): void
}

プロパティ

actions

アクションメソッドを個別の PHP スクリプトとして定義することもできます。 そのときには、このプロパティと Yaf_Action_Abstract を利用します。

例1 別ファイルでのアクションの定義

<?php
class IndexController extends Yaf_Controller_Abstract {
protected
$actions = array(

"dummy" => "actions/Dummy_action.php",
);


public function indexAction($name, $id) {

assert($name == $this->getRequest()->getParam("name"));
assert($id == $this->_request->getParam("id"));
}
}
?>

例2 Dummy_action.php

<?php
class DummyAction extends Yaf_Action_Abstract {

public function execute() {
}
}
?>
_module

モジュール名

_name

コントローラ名

_request

現在のリクエストオブジェクト

_response

現在のレスポンスオブジェクト

_invoke_args

_view

ビューエンジンオブジェクト

目次

To Top