Home  >  Article  >  php教程  >  Use of __call() method in php

Use of __call() method in php

PHP中文网
PHP中文网Original
2016-08-10 08:49:221277browse

<?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[&#39;field&#39;]} user {$this -> sql[&#39;where&#39;]} {$this -> sql[&#39;order&#39;]} {$this -> sql[&#39;limit&#39;]} {$this -> sql[&#39;group&#39;]} {$this -> sql[&#39;having&#39;]}";
}
}
$db = new DB();
//只有在私有成员数组中存在的键才能被调用
$db -> field(&#39;sex count(sex)&#39;)-> where(&#39;where sex in("m","w")&#39;)->group(&#39;group by sex&#39;)->having(&#39;having avg(age) > 25&#39;)->select();

$db -> query(&#39;d&#39;);	//这个方法不存在就不能调用



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn