Функции Для Работы С Объектами Работают И С Классами (Php 5.2)

Оказывается, спецификация некоторых функций для работы с классами недостаточно точна.

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

Вместе с данным постом часто просматривают: