<?php //php中的方法重载的使用 class D{ public function test1($p){ echo "方法1"; } public function test2($p){ echo "方法2"; echo "<br/>函数当前所在的类:".__CLASS__; } //魔术方法 public function __call($method,$p){ if($method=="test"){ if(count($p)==1){ $this->test1($p); }else{ $this->test2($p); } } echo "<br/>当前方法名称是:".__FUNCTION__; echo "<br/>当前方法名称和归属类是:".__METHOD__; } } $d1=new D(); //系统会自动的查找test()方法,但是没有找到test方法,系统会自动的调用__call方法 $d1->test(4); $d1->test(3,3); echo "<br/>这行代码在第".__LINE__; echo "<br/>显示文件的位置(包括文件名):".__FILE__; echo "<br/>显示文件的位置:".__DIR__; ?>