In PHP ist Self ein spezielles Schlüsselwort, das die aktuelle Klasse darstellt. Es wird normalerweise in einer Klasse verwendet, um sich auf statische Mitgliedsvariablen, statische Methoden und Konstanten der aktuellen Klasse zu beziehen. Das Verständnis des Verwendens in einer Klasse kann den Entwicklern helfen, statische Inhalte besser zu manipulieren.
Mit dem Selbstschlüsselwort können Sie auf die statische Mitgliedsvariable der aktuellen Klasse verweisen. Statische Mitgliedsvariablen gehören zur Klasse selbst, nicht zur Fälle der Klasse, und sie werden von allen Fällen geteilt.
Hier ist ein Beispiel:
class MyClass {
public static $count = 0;
public function __construct() {
self::$count++;
}
public function getCount() {
return self::$count;
}
}
$obj1 = new MyClass();
$obj2 = new MyClass();
echo $obj1->getCount(); // Ausgabe2
echo $obj2->getCount(); // Ausgabe2
In diesem Beispiel wird auf die statische Mitgliedsvariable $ count der Klasse Myclass von Self :: $ Count verwiesen und im Konstruktor selbst zugefügt. Unabhängig davon, wie viele Objekte erstellt werden, ist der Wert von $ Count immer konsistent.
Zusätzlich zu statischen Mitgliedsvariablen kann Selbst verwendet werden, um auf statische Methoden der aktuellen Klasse zu verweisen. Statische Methoden sind spezielle Methoden in Klassen, die ohne Instanziierung direkt über die Klasse aufgerufen werden können.
Hier ist ein Beispiel:
class MathUtils {
public static function add($a, $b) {
return $a + $b;
}
}
class MyClass {
public function calculate() {
return self::add(2, 3);
}
}
$obj = new MyClass();
echo $obj->calculate(); // Ausgabe5
In diesem Beispiel ruft die Berechnung der Methode in der MyClass -Klasse die Mathutils :: Statische Methode hinzufügen . Beziehen Sie sich auf eine statische Methode durch Selbst :: Hinzufügen , ohne die Mathutils -Klasse zu instanziieren.
Zusätzlich zu statischen Mitgliedsvariablen und statischen Methoden kann Self auch verwendet werden, um auf Konstanten der aktuellen Klasse zu verweisen. Konstanten sind unveränderliche Werte in einer Klasse.
Hier ist ein Beispiel:
class MathUtils {
const PI = 3.14;
}
class Circle {
public function getArea($radius) {
return self::PI * $radius * $radius;
}
}
$obj = new Circle();
echo $obj->getArea(2); // Ausgabe12.56
In diesem Beispiel verweist die GetArea -Methode in der Kreisklasse auf den konstanten PI in der Mathutils -Klasse durch Selbst :: Pi .
In PHP repräsentiert das Selbstschlüsselwort die aktuelle Klasse und kann verwendet werden, um statische Elementvariablen, statische Methoden und Konstanten in der Klasse zu verweisen. Es ermöglicht Entwicklern, auf einfache Weise auf statische Inhalte innerhalb der Klasse zuzugreifen und sie zu bedienen, was eine sehr wichtige Funktion in PHP ist.