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
PHP


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

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

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

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

  • Иван: к записи Привет всем, доброго времени суток! Я излазил весь »
  • Александер: к записи Потом пригляделся, вроде Вы не это имели в виду и »
  • Александер: к записи У Вас не русифицируется, потому что не везде включ »
  • Администратор: к записи Это надо использовать функции вашей CMS. »
  • Alex: к записи Ребят, а подскажите пожалуйста, как реализовать с »
  • Владимир: к записи А как теперь будет выглядеть ссылка для перехода н »
  • Администратор: к записи Не знаю. »

Статистика спама

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