----------------------
运行结果:
<?php
//$a = scandir('/tmp/caoym_temp');
//foreach($a as $v) {
// if ($v == '.' || $v == '..') {
// continue;
// }
// $cont = file_get_contents("/tmp/caoym_temp/".$v);
// $b = unserialize($cont);
//
// var_dump($b);
//}
class A {
public $name = "aaaa";
public function say() {
echo $this->name;
}
}
$a = new A();
$t = serialize($a);
echo $t;
//$t = 'O:1:"A":1:{s:4:"name";s:4:"aaaa";}';
$b = unserialize($t);
$b->say();
var_dump($b);
$methods = get_class_methods(get_class($b));
var_dump($methods);
$cn = 'A';
$method = 'say';
$func = new ReflectionMethod($cn, $method);
$f = $func->getFileName();
$start_line = $func->getStartLine() - 1;
$end_line = $func->getEndLine();
$length = $end_line - $start_line;
$source = file($f);
$source = implode('', array_slice($source, 0, count($source)));
// $source = preg_split("/(\n|\r\n|\r)/", $source);
$source = preg_split("/".PHP_EOL."/", $source);
$body = '';
for($i=$start_line; $i<$end_line; $i++)
$body.="{$source[$i]}\n";
echo $body;