На моем сайте есть папка с названием плагинов. Я хочу, чтобы все классы использовались в этой папке и методе каждого класса.
Но я не знаю, как я могу использовать отражение, чтобы получить имя метода и имя класса из этой папки? Где я должен написать код для этого?
Способ 1: вы можете использовать автозагрузчик для загрузки классов, вы можете собрать все классы в итерируемый массив, если количество ресурсов неопределенно.
Способ 2: вы можете использовать get_declared_classes()
метод, чтобы получить все объявленные классы и сопоставить с регулярным выражением, которые указывают ваш плагин.
после всего этого используйте отражение.
<?php
foreach ($declaredClasses as $key => $classWithNamespace) {
$class = new ReflectionClass($classWithNamespace);
$methods = $class->getMethods();
foreach ($methods as $method) {
//analyze your methods
}
}
Но если вы не кешируете эти вещи в вашей среде. Было бы много проблем с производительностью, отражение не дешевая цена!
Других решений пока нет …