그래서 저는 PDO를 사용하여 DB 클래스를 만드는 방법을 배우려하고 있습니다. 저는 PDO와 좀 더 복잡한 수업 개발을 처음 접했고 너무 어려워지기 전에 커뮤니티에서 약간의 지침을 얻고 싶었습니다. 부분적으로 빌드 된 클래스가 있지만 이것을 수행하는 더/더 논리적 인 방법이 있어야한다는 것을 알고 있습니다.연습 DB 클래스 생성, 약간의 지침이 필요합니다.
DB 클래스에서 거의 모든 것을 처리 할 수 있도록 단일 쿼리 메서드가 있어야합니다. 이것이 잘못된 생각이라면 저에게 이유를 알려주십시오.
현재 DB 상수가 정의되어 있고 DB라는 클래스가있는 config.php 파일이 있습니다. 내가 여기서 뭔가를 놓치고 알고
public $dbh;
public function __construct(){
$dbh = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASSWORD);
}//end __construct
public function build_query($args){
$defaults = array(
'type' => 'SELECT',
'fields' => '*',
'table' => '',
'where' => '',
'orderby' => 'id',
'order' => 'DESC'
'offset' => '0',
'limit' => ''
);
$params = array_merge($defaults, $args);
$sql = $params['type'];
$sql .= ' '.$params['fields'].' FROM '.$params['table'];
if($params['where'])
$sql .= ' WHERE '.$params['where'];
$sql .= ' ORDER BY '$params['orderby'].' '.$params['order'];
if($limit)
$sql .= ' LIMIT '.$params['offset'].', '.$params['offset'];
return $sql;
}//end build_query
public function dbq($args){
$sql = $this->build_query($args);
$this->$dbh->prepare($sql);
return $this->$dbh->execute();
:
의 index.php에서 :
require_once 'config.php';
require_once '_inc/class.db.php';
$db = new DB();
그리고 내 수업 여기 내 코드입니다. 더 나은 PHP 개발자가되기 위해 정말로 배우고 싶기 때문에 올바른 방향으로 나를 밀어주십시오. 나는 싱글 톤 패턴을 사용하는 것을 조금 보았다.하지만 실제로 어떻게 작동하고 함께 맞는지를 아는 사람들로부터 조금 더 많은 정보를 얻고 싶었다.
미리 감사드립니다.
다음 질문은 당신에게 흥미로울 것 같아요 : [PHP의 MySQL 확장에서 PDO로 전환. 코드 줄을 줄이기 위해 클래스 확장] (http://stackoverflow.com/questions/12183695/switching-from-phps-mysql-extension-to-pdo-extend-class-to-reduce-lines-of-cod) - 싱글 톤 패턴도 잊어 버리십시오. 귀하의 경우 도움이되지 않습니다. [싱글 톤이 필요한 분은 누구입니까?] (http://stackoverflow.com/questions/4595964/who-needs-singletons?lq=1) – hakre
왜 당신에게 충분하지 않은 모든 것을 쿼리 할 수있는 기존 쿼리 함수? – hakre