欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php中__call()方法使用

程序员文章站 2022-03-17 10:45:02
...
<?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');	//这个方法不存在就不能调用