Database Connector for PHP

 PHP를 이용하여 Web Application을 개발할때 여러분은 데이터베이스와 연동을 하지않고 작업을 하는 경우가 몇번이나 있으셨나요. 거의 대부분의 프로젝트에서 DB와의 연동은 웹개발의 필수겠죠.

 한개 이상의 데이터베이스와 연동이 필요할경우 커넥션을 관리해주는 헬퍼클래스를 소개해 드립니다. 

/*
*	Database Controller for MySQL(mysqli)
*	Clyde, Lee (http://ljw97.tistory.com)
*/

define('DB_MYSQL_HOST', 'localhost');
define('DB_MYSQL_USER', 'username');
define('DB_MYSQL_PASS', 'password');
define('DB_MYSQL_NAME', 'database');

class DB {
	private	static	$instances	= array();
	
	public static function getInstance($type) {
		if(array_key_exists($type, self::$instances)) {
			$instance	= self::$instances[$type];
		}
		else {
			switch($type) {
				case 'db.mysql':
					$instance	= new mysqli(DB_MYSQL_HOST, DB_MYSQL_USER, DB_MYSQL_PASS, DB_MYSQL_NAME);
					break;
				case 'db.mysql.single':
					self::$instances[$type]	= new mysqli(DB_MYSQL_HOST, DB_MYSQL_USER, DB_MYSQL_PASS, DB_MYSQL_NAME);
					$instances	= self::$instances[$type];
					break;
				default:
					throw new Exception('Unknown Database Configuration : ' . $type);
					break;
			}
		}
		
		return $instance;
	}
}

딱히 특별할 것 없는 클래스 입니다. 하지만 프레임워크를 사용하지 않는 환경에서 개발시간 단축시켜주는 요소중 하나로 커스터마이징만 조금 해주면 편하게 사용할 수 있습니다.

아래는 Database Instance를 얻어오는 방법입니다.

$DB	= DB::getInstance('db.mysql');
/* Query */
$DB->close();

여러분들은 데이터베이스 인스턴스를 가져오실때 어떻게 하시나요?

You may also like...

1 Response

답글 남기기

이메일은 공개되지 않습니다.

Protected by WP Anti Spam