Constructor : constructeur <<< |
Opérateur :: | parent >>> |
4.9 Les classes et les objets 4 Référence Manuel PHP . Les classes : class . extends : héritage . Constructor : constructeur ->Opérateur :: . parent . Sauvegarde d'objets - cas des sessions . Les fonctions magiques __sleep et __wakeup . Références dans un constructeur . Comparer des objets en PHP 4 . Comparer des objets en PHP 5 |
4.9.4 Opérateur ::
Parfois, il est pratique de faire référence aux fonctions est variables d'une classe de base, ou bien d'utiliser des méthodes de classes qui n'ont pas encore d'objets créés. L'opérateur :: est là pour ces situations.
Les exemples ci-dessus appellent la fonction example() dans la classe A, mais il n'y a pas encore d'objet de classe A, alors il n'est pas possible d'écrire $a->example() . A la place, on appelle la fonction example() comme une fonction de classe, c'est-à-dire avec le nom de la classe elle-même, et sans objet. Il y a des fonctions de classe, mais pas de variables de classe. En fait, il n'y a aucun objet au moment de l'appel de la fonction. Donc, une fonction de classe ne peut accéder à aucune variable (mais elle peut accéder aux variables locales et globales). Il faut proscrire l'utilisation de $this . Dans l'exemple ci-dessus, la classe B redéfinit la fonction example() . La définition originale dans la classe A est remplacée par celle de B, et n'est plus accessible depuis B, à moins que vous n'appeliez spécifiquement la fonction example() de la classe A avec l'opérateur ::. Ecrivez A::example() pour cela (en fait, il faudrait écrire parent::example() , comme expliqué dans la section suivante). Dans ce contexte, il y a un objet courant, qui peut avoir d'autres variables objets. De ce fait, lorsqu'il est utilisé depuis une méthode d'un objet, vous pouvez utiliser $this. |
<< | Opérateur :: | >> |
Constructor : constructeur | Les classes et les objets | parent |