PHP: получить иерархию классов объекта

Представленная далее функция, реализует возможность получения иерархии классов объекта в языке программирования под названием PHP.

<?php
/**
 * Функция, получая в качестве входного параметра объект,
 * возвращает массив с иерархией классов.
 * 
 * @param object $object
 * @return array
 * @throws InvalidArgumentException
 */
function getClassHierarchy($object) {
    if (is_object($object)):
        $class = get_class($object);
    elseif (!class_exists($object)):
        throw new InvalidArgumentException("class $object is not defined");
    endif;
    $hierarchy = array();
    while ($class) :
        $hierarchy[] = $class;
        $class = get_parent_class($class);
    endwhile;
    return $hierarchy;
}

/**
 * Пример использования на примере виджета WordPress 
 * Свежие комментарии, который является потомком WP_Widget. 
 * 
 * На экран будет выведено следуюшее:
 * 
 * Array
 * (
 *    [0] => WP_Widget_Recent_Comments
 *    [1] => WP_Widget
 * )
 */
$widget = new WP_Widget_Recent_comments;
print_r(getClassHierarchy($widget));
?>
Опубликовано 3-09-2013 в 17:15


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>











Свежие комментарии

  • krasnov8953: к записи Не работает как мне кажется строчка $newTvId = $ »
  • Dimanski: к записи ничего не понимаю. Ставлю ModX на хостинг r01.ru »
  • Дмитрий: к записи Спасибо! Очень выручили. С битриксом беда, а прав »
  • леонид: к записи как сделать что были в ряд? у меня получается по о »
  • Администратор: к записи Статический IP. »
  • Steel: к записи Администратор, вы данную проблему решили подключен »
  • Дмитрий: к записи Хотел узнать как прикрутить данное окно (http://re »

Последние твиты