奇特なブログ

「殊勝に値する行いや心掛け」を意味する、奇特な人になる為のブログです

自作フレームワーク:view_manager.php

注意:
本プログラムは、
いわゆる徳丸本に書かれているセキュリティ対策の多くは反映してます。
しかし、高難易度の攻撃に耐えられる程の対策は出来ていないと思います。
本プログラムの流用は自由ですが、流用によって生じた損害については、
自己責任でお願いしてますので、その旨ご了承下さい。

自作フレームワークのトップページに戻る

現在、本クラスは使用されていません。



<?php

/**
* ビュー管理クラス
*
* 実行するビュークラスを動的に管理
*/
class view_manager {

/**
* 実行ビュークラスの振り分けを行う
*
*/
public function dispatch($model, $screen, $process) {

$app_view_file = config::get_instance()->search('app_view_file');
// 実行対象ビュークラス名、ファイル名を決定
$view_file = controller::create_include_file_path($screen, $process, $app_view_file);
$view_class = controller::create_class_file_name($screen, $process, $app_view_file);

// 実行対象ビューファイルの存在チェック
if(check::check_exist_file($view_file)) {
// 実行対象ビューファイル読み込み
require_once($view_file);
} else {
throw new custom_exception('ビューの読み込み不可', 1);
}

// 実行対象ビュークラスの存在チェック
if(check::check_exist_class($view_class)) {
// 実行対象ビュークラスインスタンス作成
$obj = new $view_class;
// モデルインスタンスをセット
$obj->set_model($model);
} else {
throw new custom_exception('ビュークラスインスタンスの生成不可', 1);
}

// dispatchメソッドの存在チェック
if(check::check_exist_dispatch($obj)) {
// 実行対象ビュークラスのdispatchメソッド実行
$obj->dispatch();
} else {
throw new custom_exception('ビューのdispatchメソッドの実行不可', 1);
}
}
}

?>