


PHP erstellt eine Persion-Klasse, einen Reflektionsprozess und eine detaillierte Erläuterung des Nutzungsprozesses nach der Reflektion
1. Einführung
-- PHP5 fügt eine neue Funktion hinzu: Reflection. Diese Funktion ermöglicht es PHP, Klassen, Schnittstellen, Funktionen, Methoden und Erweiterungen zurückzuentwickeln. Durch PHP-Code können Sie alle Informationen eines Objekts abrufen und mit ihm interagieren.
--Was ist Reflexion?
Es bezieht sich auf die Erweiterung der Analyse von PHP-Programmen im laufenden Zustand von PHP und das Exportieren oder Extrahieren detaillierter Informationen zu Klassen, Methoden, Eigenschaften, Parametern usw., einschließlich Kommentaren. Diese Funktion zum dynamischen Abrufen von Informationen und zum dynamischen Aufrufen von Methoden von Objekten wird als Reflexions-API bezeichnet. Reflection ist eine API zur Bearbeitung von Metamodellen im Objektorientierten-Paradigma. Sie ist sehr leistungsfähig und kann uns beim Erstellen komplexer und skalierbarer Anwendungen helfen.
Zu seinen Verwendungsmöglichkeiten gehören: Automatisches Laden von Plug-Ins, automatische Generierung von Dokumenten und kann sogar zur Erweiterung der PHP-Sprache verwendet werden.
Die PHP-Reflection-API besteht aus mehreren Klassen, die uns helfen, auf die Metadaten des Programms zuzugreifen oder mit zugehörigen Anmerkungen zu interagieren. Mit Hilfe der Reflexion können wir die von der Klasse implementierten Methoden abrufen, eine Instanz der Klasse erstellen (anders als beim Erstellen mit new), eine Methode aufrufen (ebenfalls anders als den regulären Aufruf), Parameter übergeben und die Statik dynamisch aufrufen Methoden der Klasse.
Reflection API ist die in PHP integrierte OOP-Technologieerweiterung, einschließlich einiger Klassen, Ausnahmen und Schnittstellen. Zusammen können sie verwendet werden, um uns bei der Analyse anderer Klassen, Schnittstellen, Methoden, Eigenschaften, Methoden und Erweiterungen zu helfen. Diese Oop-Erweiterungen werden als Reflection bezeichnet.
Über ReflectionClass können wir die folgenden Informationen der Person-Klasse erhalten:
1) Konstanteninhalte
2) Eigenschaftsnamen
3) Methodennamen Statisch
4) Statische Eigenschaften
5) Namespace Namespace
6) Ob die Person-Klasse final oder abstrakt ist
2. Spezifisches Beispiel
Erstellen Sie eine Personenklasse und verwenden Sie dann ReflectionClass, um sie widerzuspiegeln
2.1) [Persion-Klasse erstellen]
class Person { /** * For the sake of demonstration, we"re setting this private */ private $_allowDynamicAttributes = false; /** type=primary_autoincrement */ protected $id = 0; /** type=varchar length=255 null */ protected $name; /** type=text null */ protected $biography; publicfunction getId() { return $this->id; } public function setId($v) { $this->id = $v; } public function getName() { return $this->name; } public function setName($v) { $this->name = $v; } public function getBiography() { return $this->biography; } public function setBiography($v) { $this->biography = $v; } } Persion
2.2) [Reflexionsprozess]
Als nächstes übergeben Sie zum Reflektieren einfach den Klassennamen „Person“ an ReflectionClass Das ist it:
$class = new ReflectionClass('Person');//建立 Person这个类的反射类 $instance = $class->newInstanceArgs($args);//相当于实例化Person 类
2.3) [Verwendung nach Überlegung]
2.3.1) Eigenschaften abrufen (Eigenschaften)
$properties = $class->getProperties(); foreach($properties as $property) { echo $property->getName()."\n"; } // 输出: // _allowDynamicAttributes // id // name // biography
Standardmäßig erhält ReflectionClass alle Eigenschaften, einschließlich privater und geschützter. Wenn Sie nur das private Attribut erhalten möchten, müssen Sie einen zusätzlichen Parameter übergeben:
privateproperties=privateproperties=class->getProperties(ReflectionProperty::IS_PRIVATE);
Verfügbare Parameterliste:
ReflectionProperty ::IS_STATIC
ReflectionProperty::IS_PUBLIC
ReflectionProtectED::IS_PROTECTED
ReflectionProperty:: IS_PRIVATE
Wenn Sie sowohl öffentliche als auch private Eigenschaften erhalten möchten, schreiben Sie so: ReflectionProperty::IS_PUBLIC |.
Der Eigenschaftsname kann über $property->getName() abgerufen werden.
2.3.2) [Kommentare abrufen]
Sie können die Kommentare über getDocComment an die Unterkunft schreiben lassen.
foreach($propertiesas$property) { if($property->isProtected()) { $docblock = $property->getDocComment(); preg_match('/ type\=([a-z_]*) /', $property->getDocComment(), $matches); echo$matches[1]."\n"; } } // Output: // primary_autoincrement // varchar // text
2.3.3) [Methoden der Klasse abrufen]
Methoden (Methoden) abrufen: Alle Methoden der Klasse über getMethods() abrufen.
2.3.4) [Ausführungsklassenmethode]
$instance->getBiography(); //执行Person 里的方法getBiography //或者: $ec=$class->getmethod('getName'); //获取Person 类中的getName方法 $ec->invoke($instance); //执行getName 方法
Das obige ist der detaillierte Inhalt vonPHP erstellt eine Persion-Klasse, einen Reflektionsprozess und eine detaillierte Erläuterung des Nutzungsprozesses nach der Reflektion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) verstehen.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.
