Оказывается, спецификация некоторых функций для работы с классами недостаточно точна.
ru2.php.net/manual/ru/function.is-subclass-of.php is_subclass_of — Возвращает TRUE, если объект имеет этот класс в качестве одного из своих родителей.
логическое значение is_subclass_of (объект объекта, строка имя_класса); Эта функция отлично работает и с именем класса.
например, вот как вы можете просмотреть все дочерние классы:
function getClassChildren($parentClassName) { $result = array(); foreach (get_declared_classes() as $className) { if (is_subclass_of(strtolower($className), $parentClassName) or $className == $parentClassName) $result[] = $className; } return $result; }Хоть я и не рекомендую этого делать, но слышал, что некоторые хотели увидеть пример этого хака, надеюсь вы найдете способ обойтись без него ;-) get_parent_class — Возвращает имя базового класса для объекта или класса нить get_parent_class (смешанный $obj) Здесь честно сказано, что спор смешанного типа, но многие (судя по моим друзьям) не обращают на это внимания.
Эта функция также прекрасно работает с именем класса.
Я был удивлен тем, как работает эта функция.
метод_существует ();
<? class A{ private $a1="test"; public $a2="tt"; static public function aa(){} } class B extends A { static public function bb(){} } $a=new A; var_dump( method_exists("A",'aa')); $b=new B; var_dump( method_exists("B",'aa')); ?>отвечать : логическое значение (правда) логическое значение (правда) то есть действительно смотрит, существует ли метод для создаваемых объектов, а не для класса.
Конечно, функция противоречит идеологии интерфейсов, но иногда пользоваться ею очень удобно.
call_user_method не терпит искажений:
<? class A{ static public function aa(){ echo 'aaa'; } } call_user_method ('aa', 'A'); ?>Ответ будет Фатальная ошибка : По ссылке можно передавать только переменные.
пожалуйста, возьмите эту тему на заметку, возможно, для обсуждения Теги: #php ой #php
-
Десять Лучших Снайперских Игр Всех Времен
19 Oct, 24 -
Онсагер, Ларс
19 Oct, 24 -
Семь Маргинальных Гипотез О Природе Эмоций
19 Oct, 24