クラスを調べて、単純なクエリの抽象化またはこれを行うある種のORMライブラリを実行します。サンプルは次のようになります。
class Query {
function from($tbl){
return new Table($tbl);
}
}
class Table {
var $prefix = 'PBN_';
var $tblname = '';
function Table($name){
$this->tblname = $this->prefix.$name;
}
function select($cols, $where = false, $order = false, $limit = false){
$query = "SELECT {$cols} FROM {$this->tblname}";
if($where) $query .= " WHERE ".$where; //add where
if($order) $query .= " ORDER BY ".$order; //add order
if($limit) $query .= " LIMIT ".$limit; //add limit
return $query;
}
}
$q = new Query;
$results = mysql_query($q->from('products')->select('*'));
これは明らかに完全または安全にはほど遠いです。抽象化クラスがSQLを高速化し、プレフィックスを作成する方法のほんの一例です。