奇特なブログ

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

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

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

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


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



<?php

/**
* DBハンドル管理クラス
*
* 使用するDBによってDBハンドルを切り替える
*
* @access public
* @create 2010/08/12
* @version 1.0
*/
class db_manager
{

/**
* DBハンドルの取得を行う
*
* @access public
* @param config $config 設定ファイルクラスインスタンス
* @return db_handle DBハンドルクラスインスタンス
*/
static public function get_handle($config)
{
// DBハンドルクラスインスタンス
$dbh = null;

// DBMSの検索
$dbms = $config->search('db_type');

if (0 === strcmp('mysql', $dbms))
{
// MySQL
require_once('dbh_mysql.php');
$dbh = new dbh_mysql();
}
else if (0 === strcmp('postgresql', $dbms))
{
// PostgreSQL
require_once('dbh_postgresql.php');
$dbh = new dbh_postgresql();
}
else
{
throw new custom_exception('DBが見つかりませんでした', 1);
}

// 設定
$dbh->set_config($config);
$dbh->set_user_name($config->search('db_user'));
$dbh->set_password($config->search('db_password'));
$dbh->set_database_name($config->search('db_name'));
$dbh->set_host_name($config->search('db_host_name'));
$dbh->set_port_number($config->search('db_port_number'));

// DB接続
if (false === $dbh->connect())
{
// 接続失敗
throw new custom_exception($dbh->get_error_message(), 1);
}

// パスワード情報の消去
$dbh->set_password('?');

return $dbh;
}
}



スポンサーサイト

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

  1. 2010/08/12(木) 17:34:02|
  2. 自作プログラム
  3. | トラックバック:0
  4. | コメント:0
<<自作フレームワーク:dbh_mysql.php | ホーム | 自作フレームワーク:db_handle.php>>

コメント

コメントの投稿


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

トラックバック

トラックバック URL
http://kitoku1.blog129.fc2.com/tb.php/23-a46cdc8a
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。