fc2ブログ

奇特なブログ

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

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

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


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

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



<?php

/**
* アクション管理クラス
*
* 実行するアクションクラスを動的に管理
*/
class action_manager {

/**
* 実行アクションクラスの振り分けを行う
*
*/
public function dispatch($model, $screen, $process) {

$config = config::get_instance();
$app_action_file = $config->search('app_action_file');
// 実行対象アクションクラス名とファイル名を決定
$action_file = controller::create_include_file_path($screen, $process, $app_action_file);
$action_class = controller::create_class_file_name($screen, $process, $app_action_file);

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

// 実行対象アクションクラスの存在チェック
if(check::check_exist_class($action_class)) {
// 対象アクションクラスインスタンス作成
$obj = new $action_class;
// モデルインスタンスのセット
$obj->set_model($model);
// DBを使う設定の時にはDBハンドルを設定
if (0 === strcmp('true', $config->search('db_used'))) {
$obj->set_db_handle(db_manager::get_handle());
}
} else {
throw new custom_exception('アクションクラスインスタンスの生成不可', 1);
}

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

?>



スポンサーサイト



テーマ:日記 - ジャンル:日記

  1. 2010/08/12(木) 16:39:27|
  2. 自作プログラム
  3. | トラックバック:0
  4. | コメント:0
<<自作フレームワーク:check.php | ホーム | 自作フレームワーク:action.php>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://kitoku1.blog129.fc2.com/tb.php/16-5b5b71d9
この記事にトラックバックする(FC2ブログユーザー)