<MyRusakov.ru />

Разработчик игр на Unreal Engine

Разработчик игр на Unreal Engine

Этот комплект с нуля всего за 7 месяцев сделает Вас Unreal-разработчиком. И при этом учиться достаточно 1 час в день.

Начнёте Вы с основ программирования, постепенно перейдя к C++. Затем очень подробно изучите Unreal Engine, и после научитесь программировать на C++ в Unreal Engine. В конце создадите крупный проект на C++ в Unreal Engine для своего портфолио.

Комплект содержит:

- 416 видеоуроков

- 95 часов видео

- 1024 задания для закрепления материала из уроков

- 3 финальных тестирования

- 4 сертификата

- 12 Бонусных курсов

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Reflection API. ReflectionMethod.

Reflection API. ReflectionMethod.

Продолжаем изучать отражения. В прошлом уроке мы рассмотрели отражение класса, а в этом разберем отражение методов.

Мы все также будем использовать наш класс User, который находится в файле user.php для изучения этого материала. Перейдем к файлу index.php

<?php
  include 'user.php';

  $rm = new ReflectionMethod('Users\User', 'getData');
  echo '<pre>';
  echo print_r(get_class_methods($rm));
  echo '</pre>';
?>

Чтобы создать отражение метода, нужно использовать класс ReflectionMethod и передать в его конструктор первым параметром название нашего класса, а вторым - название метода. Чтобы просмотреть все методы, которые содержит класс ReflectionMethod, мы, как и в прошлом уроке, используем get_class_methods() функцию. Рассмотрим некоторые из методов.

<?php
  echo $rm->isPublic();
  echo $rm->isProtected();
  echo $rm->isPrivate();
?>

Эти три метода вернут 1, если метод публичный/защищенный/приватный или не вернут ничего, если это не так.

<?php
  echo $rm->isStatic();
  echo $rm->isConstructor();
  echo $rm->isDestructor();
?>

Данные три метода проверяют, является ли метод статическим/конструктором/деструктором.

Подобных методов много, рассмотреть их все вы можете сами, а мы перейдем к одной часто используемой возможности - invoke. Invoke позволяет вызвать наш метод.

<?php   $user = new Users\User;   $rm->invoke($user); ?>

В качестве параметра данному методу следует передать объект нашего класса, чтобы указать в контексте какого класса слудует вызвать метод.

Если вам нужно передать вызываемому методу какие-то параметры, то следует воспользоваться invokeArgs.

<?php
  $user = new Users\User;
  $rm->invokeArgs($user, ['data']);
?>

Он отличается от invoke только тем, что вторым параметром мы можем передать аргументы в виде массива. Если ваш метод возвращает какой-то результат, то вы можете присвоить его переменной или вывести на экран.

<?php
  $data = $rm->invokeArgs($user, ['data']);
?>

Итак, на этом я заканчиваю вторую статью, посвященную Reflection API. Сегодня мы разобрались, как использовать отражение методов(ReflectionMethod). До свидания.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.