Есть ли способ узнать какая область видимости у функции внутри одного класса?
class Test {
public A {
<вот тут узнать PUBLIC или PRIVATE у B и C>
}
public B{}
private С{}
}
class Test {
public function A($className) {
$ref = new ReflectionMethod('Test::'.$className);
return Reflection::getModifierNames($ref->getModifiers());
}
public function B() {}
private function C() {}
}
var_dump(Test::A('B'));
Выводит массив со всеми модификаторами.
Проверить можно очень просто: in_array(Test::A('B'), 'public') выводит true, если метод Test::B публичный.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей