В этой статье описывается отражение 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 – программ для всех.