Pouvez-vous surcharger les opérateurs en PHP ?
PHP ne prend pas en charge la surcharge des opérateurs, ce qui signifie que vous ne pouvez pas redéfinir le comportement des opérateurs existants. opérateurs. Cependant, il existe des approches alternatives pour modifier le comportement des opérateurs.
Par exemple, si vous souhaitez créer une classe Array avec un opérateur [] surchargé, vous pouvez utiliser la classe SPL ArrayObject introduite dans PHP5. En étendant ArrayObject, vous pouvez définir votre propre type de tableau personnalisé avec des capacités étendues.
Voici un exemple simple :
<code class="php">class a extends ArrayObject { public function offsetSet($i, $v) { echo 'appending ' . $v; parent::offsetSet($i, $v); } } $a = new a; $a[] = 1;</code>
Ce code génère :
appending 1
Par en remplaçant la méthode offsetSet(), nous avons étendu le comportement par défaut de l'opérateur [] pour notre ArrayObject personnalisé.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!