Heim  >  Artikel  >  php教程  >  php中__call()方法使用

php中__call()方法使用

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

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



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn