В этой статье описывается отражение PHP с примерами. Поделитесь для вашей справки следующим образом:
Начиная с сегодняшнего дня , чтобы узнать об отражении в php, многие люди, возможно, не слышали о концепции отражения. Проще говоря, отражение позволяет вам иметь возможность анализировать классы и функции.
Некоторые студенты могут спросить меня, в чем польза аналитических занятий. Почему я должен учиться рефлексии? Я могу только сказать, что неучение рефлексии не окажет никакого влияния на ваш бизнес. Но если вы хотите написать программу с элегантной структурой, высоким уровнем обслуживания и расширяемостью, необходимо изучить рефлексию.
PHP встроил набор классов отражения для достижения отражения классов, обычно используемых:
- Класс анализа класса отражения
- Информация о свойствах класса ReflectionProperty
- Информация о методах класса ReflectionMethod
- Параметр отражения извлекает информацию о параметрах функции или метода
Переверните руководство, если хотите все увидеть.
Сегодня давайте кратко рассмотрим, что такое отражение PHP с помощью демонстрационного кода.
name = $name;
$this->skills = $skills;
}
public function attack($hero) {
echo "Attack {$hero->name}" . PHP_EOL;
}
public function execute($index) {
echo "Axecute {$index} skill" . PHP_EOL;
}
}
$ref = new ReflectionClass('Hero');
if ($ref->isInstantiable()) {
Echo'can instantiate'. PHP_EOL;
}
// Get the constructor of the class
$constructor = $ref->getConstructor();
Print_r($constructor); //ReflectionMethod E object
// Getting attributes
if ($ref->hasProperty('name')) {
$attr = $ref->getProperty('name');
Print_r($attr); //ReflectionProperty object
}
// Get the list of attributes
$attributes = $ref->getProperties();
foreach ($attributes as $row) {
// row is an example of ReflectionProperty
echo $row->getName() . "\n";
}
// Acquisition method
if ($ref->hasMethod('attack')) {
$method = $ref->getMethod('attack');
// Method is an example of ReflectionMethod
print_r($method);
}
// Acquisition method列表
$methods = $ref->getMethods();
foreach ($methods as $row) {
// This row is an example of ReflectionMethod
echo $row->getName() . PHP_EOL;
}Результаты операции:
Может быть создан экземпляр Объекта метода отражения ( [имя] => __построить [класс] => Герой ) Объект свойств отражения ( [имя] => имя [класс] => Герой ) имя навыков Объект метода отражения ( [имя] => атака [класс] => Герой ) __построить атаку выполнить
Чтобы узнать что-то новое, прежде всего, вам нужно иметь чувство знакомого, или ощущение руки. Только когда у вас будет чувство руки, вы не будете этого бояться. Сначала скопируйте приведенный выше код и запустите его. У вас должно быть предварительное впечатление от отражения PHP.
В следующей статье давайте возьмем небольшой пример, чтобы увидеть, какие удивительные вещи можно сделать с волосами.
Больше читателей, интересующихся контентом, связанным с PHP, могут ознакомиться с темами этого сайта: Введение в объектно-ориентированное программирование Php, Введение в навыки работы с массивами PHP, Введение в базовую грамматику PHP, Краткое описание работы PHP и использования операторов, Краткое описание использования строк Php и данных php+mysql. Введение в библиотечные операции и Краткое описание общих навыков работы с базами данных на PHP
Я надеюсь, что эта статья будет полезна для разработки PHP – программ для всех.