Мы программируем через разные операционные системы, gnu / linux, windows, mac ... Из-за этого у нас в коде разные возвраты каретки, чтобы решить эту проблему, я раздвоил ответ Брэндона Хорсли и подготовился к проверке разных CR иполучить код из метода класса вместо функции:
$cn = 'class_example';
$method = 'method_example';
$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;