Heim >Backend-Entwicklung >PHP-Tutorial >Zusammenfassung von Funktionen und Klassen, die in PHP leicht übersehen werden
1. PHP-Funktion Beurteilen Sie, ob die Funktion existiert
Als wir eine benutzerdefinierte Funktion erstellt und etwas über die Variablenfunktion erfahren haben: Um sicherzustellen, dass die vom Programm aufgerufene Funktion vorhanden ist, wird function_exists häufig verwendet, um festzustellen, ob die Funktion vorhanden ist. Dieselbe method_exists kann verwendet werden, um zu erkennen, ob eine Klassenmethode vorhanden ist.
function func() { } if (function_exists('func')){ echo 'exists'; }
Ob die Klasse definiert ist, kann class_exists verwenden
class MyClass{ } // 使用前检查类是否存在 if (class_exists('MyClass')) { $myclass = new MyClass(); }
Es gibt viele solcher Prüfmethoden in PHP, z. B. ob die Datei existiert, file_exists usw.
$filename = 'test.txt'; if (!file_exists($filename)) { echo $filename . ' not exists.'; }
2. Variablenfunktionen von PHP-Funktionen
Die sogenannte Variablenfunktion bedeutet den Aufruf einer Funktion über den Wert einer Variablen. Da der Wert einer Variablen variabel ist, kann er aufgerufen werden durch Ändern des Werts einer Variablen. Es wird häufig in Rückruffunktionen, Funktionslisten oder zum Aufrufen verschiedener Funktionen basierend auf dynamischen Parametern verwendet. Die Methode zum Aufrufen einer Variablenfunktion besteht darin, dem Variablennamen Klammern hinzuzufügen.
function name() { echo 'jobs'; } $func = 'name'; $func(); //调用可变函数
Variablenfunktionen können auch zum Aufrufen von Methoden für Objekte verwendet werden
class book { function getName() { return 'bookname'; } } $func = 'getName'; $book = new book(); $book->$func();
Statische Methoden können auch dynamisch über Variablen aufgerufen werden
$func = 'getSpeed'; $className = 'Car'; echo $className::$func(); //动态调用静态方法
Statische In-Methoden , darf die Pseudovariable $this nicht verwendet werden. Sie können self, parent und static verwenden, um statische Methoden und Eigenschaften intern aufzurufen.
class Car { private static $speed = 10; public static function getSpeed() { return self::$speed; } public static function speedUp() { return self::$speed+=10; } } class BigCar extends Car { public static function start() { parent::speedUp(); } } BigCar::start(); echo BigCar::getSpeed();
3. Erweiterte Funktionen von PHP-Klassen und -Objekten
Objektvergleich: Wenn alle Attribute zweier Instanzen derselben Klasse gleich sind, können Sie den Vergleichsoperator == wird zur Beurteilung verwendet. Wenn Sie beurteilen müssen, ob zwei Variablen auf dasselbe Objekt verweisen, können Sie zur Beurteilung den Kongruenzoperator === verwenden.
class Car { } $a = new Car(); $b = new Car(); if ($a == $b) echo '=='; //true if ($a === $b) echo '==='; //falseKopieren von Objekten über das Schlüsselwort clone. Zu diesem Zeitpunkt werden die Attribute über diese
class Car { public $name = 'car'; public function clone() { $obj = new Car(); $obj->name = $this->name; } } $a = new Car(); $a->name = 'new car'; $b = clone $a; var_dump($b);Objektserialisierung
, Sie können das Objekt über die Serialisierungsmethode, die zum Speichern oder Übertragen von Daten verwendet wird, in eine Zeichenfolge serialisieren und die Zeichenfolge dann bei Bedarf durch Deserialisieren deserialisieren es in ein Objekt umwandeln und verwenden.
Das obige ist der detaillierte Inhalt vonZusammenfassung von Funktionen und Klassen, die in PHP leicht übersehen werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!