Полный цикл в digital

Reflection и другие встроенные функции ООП

Встроенные функции позволяют получить информацию о классах и объектах. Можно получить имя класса, которому принадлежит объект, равно как и все его свойства и методы. Используя эти функции, можно установить не только принадлежность объекта к конкретному классу, но и определить порядок наследования. К примеру, какой класс наследует класс данного объекта.

  • Reflection API рефлексия в контексте программирования, это процесс при котором программа может наблюдать и модифицировать свою собственную структуру и поведение во время выполнения, подробнее в описании
  • get_class_methods() возвращает массив имен методов класса с заданным именем без создания экземпляра класса через new, подробнее в описании
  • get_class_vars() возвращает массив имен свойств класса с заданным именем без создания экземпляра класса через new, подробнее в описани
  • get_object_vars() возвращает ассоциативный массив с информацией обо всех свойствах объекта с заданным именем, подробнее в описани
  • method_exists() проверяет, поддерживается ли объектом метод с заданным именем, подробнее в описани
  • get_class() возвращает имя класса, к которому относится объект с заданным именем, подробнее в описани
  • get_parent_class() возвращает имя родительского класса, если он есть для объекта с заданным именем, подробнее в описани
  • is_subclass_of() проверяет, был ли объект создан на базе класса, имеющего родительский класс с заданным именем, подробнее в описани
  • get_declared_classes() возвращает массив с именами всех определенных классов, подробнее в описани

Reflection

Reflection API позволяют узнать всю информацию о классе, функции, методе, исключениях и т.д.

ReflectionClass ()

Класс ReflectionClass() предоставляет методы, которые собирают информацию обо всех аспектах заданного класса, в качестве единственного аргумента передается экземпляр класса:

$classInfo = new ReflectionClass(object имя_обьекта) : object

ReflectionObject ()

Расширяет класс ReflectionClass и предоставляет информацию об объекте, в качестве единственного аргумента передается экземпляр класса:

$objectInfo = new ReflectionObject(object имя_обьекта) : object

ReflectionMethod ()

Представляет информацию о методе класса и позволяет вызывать его, в качестве аргумента передается экземпляр класса и название метода:

$methodInfo = new ReflectionMethod(object имя_обьекта, string имя_метода) : object

ReflectionProperty ()

Представляет информацию о свойстве класса и позволяет взаимодействовать с ним, в качестве аргумента передается экземпляр класса и название свойства:

$propertyInfo = new ReflectionProperty(object имя_обьекта, string имя_свойства) : object

ReflectionFunction ()

Представляет информацию о функции и позволяет вызывать ее, в качестве единственного аргумента передается имя функции:

$functionInfo = new ReflectionFunction(string имя_функции) : object

ReflectionParameter ()

Представляет информацию о параметре функции или метода и позволяет получать его характеристики, первый параметр, массив содержащий название класса и название метода, второй параметр, порядковый номер параметра который нам нужен:

$parameterInfo = new ReflectionParameter([string имя_класса, string имя_метода], int порядковый_номер_параметра) : object

ReflectionException ()

Исключение, которое может быть выброшено в процессе работы с Reflection API.

get_class_methods ()

Функция get_class_methods() возвращает массив имен методов класса с заданным именем без создания экземпляра класса через new:

get_class_methods(string имя_класса) : array

get_class_vars ()

Функция get_class_vars() возвращает массив имен свойств класса с заданным именем без создания экземпляра класса через new:

get_class_vars(string имя_класса) : array 

get_object_vars ()

Функция get_object_vars() возвращает ассоциативный массив с информацией обо всех свойствах объекта с заданным именем:

get_object_vars(object имя_обьекта) : array 

method_exists ()

Функция method_exists() проверяет, поддерживается ли объектом метод с заданным именем. Если метод поддерживается, функция возвращает TRUE, в противном случае возвращается FALSE:

method_exists(object имя_обьекта, string имя_метода) : bool

get_class ()

Функция get_class() возвращает имя класса, к которому относится объект с заданным именем:

get_class(object имя_объекта) : string 

get_parent_class ()

Функция get_parent_class() возвращает имя родительского класса, если он есть для объекта с заданным именем:

get_parent_class(object имя_обьекта) : string

is_subclass_of ()

Функция is_subclass_of() проверяет, был ли объект создан на базе класса, имеющего родительский класс с заданным именем. Функция возвращает TRUE, если проверка дает положительный результат и FALSE в противном случае:

is_subclass_of(object объект, string имя_класса) : bool

get_declared_classes ()

Функция get_declared_classes() возвращает массив с именами всех определенных классов:

get_declared_classes() : array 

Остальные методы

  • __autoload() попытка загрузить неопределённый класс, подробнее в документации.
  • class_alias() создаёт псевдоним для указанного класса, подробнее в документации
  • class_exists() проверяет, был ли объявлен класс, подробнее в документации
  • enum_exists() проверяет, определено ли перечисление, подробнее в документации
  • get_called_class() имя класса, полученное с помощью позднего статического связывания, подробнее в документации
  • get_declared_interfaces() возвращает массив всех объявленных интерфейсов, подробнее в документации
  • get_declared_traits() возвращает массив со всеми объявленными трейтами, подробнее в документации
  • get_mangled_object_vars() возвращает массив искажённых свойств объекта, подробнее в документации
  • interface_exists() проверяет, определён ли интерфейс, подробнее в документации
  • is_a() проверяет, является ли объект указанным типом или подтипом, подробнее в документации
  • property_exists() проверяет, содержит ли объект или класс указанный атрибут, подробнее в документации
  • trait_exists() проверяет, существует ли трейт, подробнее в документации
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!