Dans PHP, Self est un mot-clé spécial qui représente la classe actuelle. Il est généralement utilisé à l'intérieur d'une classe pour désigner les variables de membres statiques, les méthodes statiques et les constantes de la classe actuelle. Comprendre comment utiliser soi dans une classe peut aider les développeurs à mieux manipuler le contenu statique.
Avec le mot d' auto -clé, vous pouvez vous référer à la variable de membre statique de la classe actuelle. Les variables de membres statiques appartiennent à la classe elle-même, et non aux instances de la classe, et elles sont partagées par tous les instances.
Voici un exemple:
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(); // Sortir2
echo $obj2->getCount(); // Sortir2
Dans cet exemple, le nombre de dollars de membre statique de la classe MyClass est référencé par Self :: $ Count et il est auto-incrémenté dans le constructeur. Peu importe le nombre d'objets créés, la valeur du nombre de dollars est toujours cohérente.
En plus des variables de membres statiques, le soi peut également être utilisé pour désigner les méthodes statiques de la classe actuelle. Les méthodes statiques sont des méthodes spéciales dans les classes qui peuvent être appelées directement via la classe sans instanciation.
Voici un exemple:
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(); // Sortir5
Dans cet exemple, la méthode de calcul de la classe MyClass appelle la méthode Mathutils :: Ajouter une méthode statique. Se référant à une méthode statique via Self :: Ajouter sans instancier la classe Mathutils .
En plus des variables de membres statiques et des méthodes statiques, le soi peut également être utilisé pour désigner les constantes de la classe actuelle. Les constantes sont des valeurs immuables dans une classe.
Voici un exemple:
class MathUtils {
const PI = 3.14;
}
class Circle {
public function getArea($radius) {
return self::PI * $radius * $radius;
}
}
$obj = new Circle();
echo $obj->getArea(2); // Sortir12.56
Dans cet exemple, la méthode Getarea dans la classe Circle fait référence au Pi constant dans la classe Mathutils à travers soi :: pi .
En PHP, le mot de même autonome représente la classe actuelle et peut être utilisé pour référencer les variables de membres statiques, les méthodes statiques et les constantes de la classe. Il permet aux développeurs d'accéder et de faire fonctionner facilement le contenu statique au sein de la classe, ce qui est une caractéristique très importante de PHP.