Получить все методы в файле

Я пытаюсь найти лучший способ получить все закрытые, публичные, статические, защищенные методы в файле.... что было бы лучшим способом сделать это. в настоящее время, когда я делаю 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());

?>

Надеюсь это поможет.

Другие вопросы по тегам