一反射一反射的:
<?php<BR>class ReflectionUtil{<BR> static function getClassSource(ReflectionClass $class){<BR> $path=$class->getFileName();<br> $lines= @file($path);<br> $from=$class->getStartLine();<br> $to=$class->getEndLine();<br> $len=$to-$from+1;<br> return implode(array_slice ($lines,$from-1,$len));<br> }<br>}<br>$classname="人";<br>$path="../practice/{$classname}.php";<br>if(!file_exists( $path)){<br> throw new Exception("{$path} のようなファイルはありません");<br>}<br>require_once($path);<br>if(!class_exists($classname)){<br> throw new Exception("そのようなファイルはありませんclass as {$classname}");<br>}<br>print ReflectionUtil::getClassSource(new ReflectionClass('person'));<br>?><br>
</PRE> ;<BR>結果是:class person{ public $age;パブリック $name;関数 getName(){return "zjx";} 関数 getAge(){return 12;} 関数 __toString(){ $rs=$this->getName(); $rs.="(年齢".$this->getAge().")"; $rs を返します。 } }<br><pre class="brush:php;toolbar:false">gt;
gt;
gt;
gt;