Maison >php教程 >PHP源码 >php中__call()方法使用

php中__call()方法使用

PHP中文网
PHP中文网original
2016-08-10 08:49:221371parcourir

<?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;);	//这个方法不存在就不能调用



Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn