DocumentationHelper::getSourceCode() 

\nn\t3::DocumentationHelper()->getSourceCode($class, $method); 

Get source code of a method.

Returns the "raw" PHP code of the method of a class.

\Nng\Nnhelpers\Helpers\DocumentationHelper::parseClass( \Nng\Classes\MyClass::class, 'myMethodName' );
Copied!

| @return string

Source Code 

public static function getSourceCode($class, $method)
{
	$func = new \ReflectionMethod($class, $method);
	$f = $func->getFileName();
	$start_line = $func->getStartLine() - 1;
	$end_line = $func->getEndLine();
	$cache = self::$sourceCodeCache[$f] ?? false;
	if (!$cache) {
		$source = file($f);
		$source = implode('', array_slice($source, 0, count($source)));
		$source = preg_split("/".PHP_EOL."/", $source);
		self::$sourceCodeCache[$f] = $source;
	}
	$source = self::$sourceCodeCache[$f];
	$body = "\n";
	for ($i=$start_line; $i<$end_line; $i++) {
		if ($source[$i] ?? false) {
			$body.="{$source[$i]}\n";
		}
	}
	$body = str_replace('	', "\t", $body);
	$body = str_replace("\n\t", "\n", $body);
	return $body;
}
Copied!