Получить все методы в файле
Я пытаюсь найти лучший способ получить все закрытые, публичные, статические, защищенные методы в файле.... что было бы лучшим способом сделать это. в настоящее время, когда я делаю file_get_contents, он выгружает весь файл, но мне нужно какое-то регулярное выражение, которое даст мне только методы
$filecontent = file_get_contents($fn->getPath()."/".$fn->getFilename());
Я не уверен, что смогу использовать это
preg_match("/private function | protected function | public function | public static function/") etc etc
если есть лучший способ, я хотел бы также знать об этом
1 ответ
Используйте рефлексию, предполагая, что ваш путь PSR-0, и вы можете сделать что-то вроде:
<?php
$document_root = "/document/root";
$file = "{$document_root}/PSR/Compatible/Path/ClassName.php";
$class = str_replace(
array($document_root, DIRECTORY_SEPARATOR, ".php"),
array("", "\\", ""),
$file
);
$reflector = new \ReflectionClass($class);
var_dump($reflector->getMethods());
?>
Надеюсь это поможет.