<?php
class DB{
private $sql = array("field"=>"","where"=>"","order"=>"","limit"=>"","group"=>"","having"=>"");
public function __call($functionName,$arr){ //只有在私有成员数组中存在的键才能被调用
$functionName = strtolower($functionName);
if(array_key_exists($functionName,$this -> sql)){
$this -> sql[$functionName] = $arr[0];
}else{
echo "调用的方法不存在";
}
return $this;
}
public function select(){
echo "SELECT from {$this -> sql['field']} user {$this -> sql['where']} {$this -> sql['order']} {$this -> sql['limit']} {$this -> sql['group']} {$this -> sql['having']}";
}
}
$db = new DB();
//只有在私有成员数组中存在的键才能被调用
$db -> field('sex count(sex)')-> where('where sex in("m","w")')->group('group by sex')->having('having avg(age) > 25')->select();
$db -> query('d'); //这个方法不存在就不能调用
Copy after login