Home > php教程 > PHP源码 > body text

Use of __call() method in php

PHP中文网
Release: 2016-08-10 08:49:22
Original
1325 people have browsed it

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



Related labels:
source:php.cn
Statement of this Website
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
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template