php调用不存在的方法:首先创建一个PHP示例文件;然后设置伪方法的静态方法名;接着用“$funArr”数组存放伪方法与真实非静态方法之间的映射关系;最后返回真实方法处理结果即可。
推荐:《PHP视频教程》
php 通过__callstatic访问不存在的静态方法,并映射到真正的方法上
<?php
//调用不存在的静态方法name,映射到真正的output方法
echo A::name('巴拉巴拉');
class A
{
 //$name为伪方法的静态方法名,$args为传递的参数
 public static function __callStatic($name,$args)
 {
 // $funArr数组存放伪方法与真实非非静态方法之间的映射关系
 $funArr=['name'=>'output', 'email'=>'email'];
 if(array_key_exists($name,$funArr)){
 //把真实方法名赋给$method
 $method=$funArr[$name];
 //返回真实方法处理结果
 return (new who())->$method($args[0]);
 }else{
 return "unknown function name".$name;
 }
 }
 
 public function output($name)
 {
 return 'your name is '.$name;
 }
}下载本文