这篇文章主要介绍了关于php 使用 __call重载,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
<?php
/**
* created by phpstorm.
* user: funco
* date: 17-6-9
* time: 下午1:39
*/
class mulstat
{
// showclass 可以接受0个参数
private function showclass() {
echo "this is class ".__class__;
}
// showstring 可以接受一个参数
private function showstring($str) {
echo "string is ".$str;
}
// __call方法 可以获取实例化对象调用的成员函数名和向该被调函数传递的参数个数
public function __call($name, $args) {
// 先判断要调用的函数名$name
if($name == "showinfo"){
// 然后可以根据参数($args)数量判断调用哪个成员函数
switch(count($args)) { // count可以计算数组元素个数
case 0:
$this->showclass();break;
case 1:
$this->showstring($args[0]);break;
}// switch
}// if
}
}
//实例化mulstat类
$mulstat = new mulstat();
echo "\$mulstat->showinfo(\"funco 小风\"):\n";
$mulstat->showinfo("funco 小风");
// 两次换行 便于观察结果
echo "\n\n";
echo "\$mulstat->showinfo():\n";
$mulstat->showinfo();
相关推荐:
php使用curl_multi实现并发请求的方法示例
php使用file_get_contents发送http请求功能简单
以上就是php 使用 __call重载的详细内容。