Reflection api. Reflectionmethod.

Відео: Використання Reflection API - Annotations / Reflection # 2 - Advanced Java

Reflection API. ReflectionMethod.

Відео: Java Reflection Invoke all get methods of a object

Продовжуємо вивчати відображення. У минулому уроці ми розглянули відображення класу, а в цьому розберемо відображення методів.

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

lt ;?php
include
`User.php`-

$ rm
=newReflectionMethod(`Users User`,`GetData`) -
echo
`
`
-
echo print_r
(get_class_methods($ rm)) -
echo
``-
?gt;

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

lt ;?php
echo $ rm
-gt;isPublic() -
echo $ rm
-gt;isProtected() -
echo $ rm
-gt;isPrivate() -
?gt;



Ці три методи повернуть 1, якщо метод публічний / захищений / приватний або не повернуть нічого, якщо це не так.

lt ;?php
echo $ rm
-gt;isStatic() -
echo $ rm
-gt;isConstructor() -
echo $ rm
-gt;isDestructor() -
?gt;

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




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

lt ;?php $ user =newUsersUser- $ rm-gt;invoke($ user) -?gt;

Як параметр даного методу слід передати об`єкт нашого класу, щоб вказати в контексті якого класу слудует викликати метод.

Відео: REFLECTION API, OVERRIDING, INTERFACE CONCEPTS IN JAVA WITH EXAMPLE

Якщо вам потрібно передати викликається методу якісь параметри, то слід скористатися invokeArgs.

lt ;?php
$ user
=newUsersUser-
$ rm
-gt;invokeArgs($ user,[`Data`]) -
?gt;

Він відрізняється від invoke тільки тим, що другим параметром ми можемо передати аргументи у вигляді масиву. Якщо ваш метод повертає якийсь результат, то ви можете привласнити його змінної або вивести на екран.

lt ;?php
$ data
= $ rm-gt;invokeArgs($ user,[`Data`]) -
?gt;

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

Поділися в соціальних мережах:

Схожі
Парсинг xml-документа на phpПарсинг xml-документа на php
Абстрактні класи в phpАбстрактні класи в php
Reflection api. Reflectionproperty.Reflection api. Reflectionproperty.
Що нового в php7.1: нові повідомлення про помилки.Що нового в php7.1: нові повідомлення про помилки.
Метод tostring () в phpМетод tostring () в php
Reflection api. Reflectionclass.Reflection api. Reflectionclass.
Ajax запити за допомогою методів $ .post () і $ .get ().Ajax запити за допомогою методів $ .post () і $ .get ().
Команда echo - висновок тексту на екран консоліКоманда echo - висновок тексту на екран консолі
Створення движка на mvc. Начинам робити систему розподілу прав користувачів.Створення движка на mvc. Начинам робити систему розподілу прав користувачів.
Математичні функції в phpМатематичні функції в php
» » Reflection api. Reflectionmethod.