classkit_method_add
(PECL classkit >= 0.1)
classkit_method_add — Ajoute dynamiquement une nouvelle méthode à une classe donnée
Description
$classname
, string $methodname
, string $args
, string $code
[, int $flags
= CLASSKIT_ACC_PUBLIC
] )Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.
Liste de paramètres
-
classname
-
La classe où la méthode doit être ajoutée
-
methodname
-
Le nom de la méthode à ajouter
-
args
-
Liste d'arguments, séparés par des virgules, de la nouvelle méthode créée
-
code
-
Le code à exécuter lorsque
methodname
est appelé -
flags
-
Le type de méthode à créer ; peut être
CLASSKIT_ACC_PUBLIC
,CLASSKIT_ACC_PROTECTED
ouCLASSKIT_ACC_PRIVATE
Note:
Ce paramètre est utilisé depuis PHP 5, car avant cette version, toutes les méthodes étaient publiques.
Valeurs de retour
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Exemples
Exemple #1 Exemple avec classkit_method_add()
<?php class Example { function foo() { echo "foo!\n"; } } // Création d'un objet Example $e = new Example(); // Ajout d'une nouvelle méthode publique classkit_method_add( 'Example', 'add', '$num1, $num2', 'return $num1 + $num2;', CLASSKIT_ACC_PUBLIC ); // Ajoute 12 + 4 echo $e->add(12, 4); ?>
L'exemple ci-dessus va afficher :
16
Voir aussi
- classkit_method_copy() - Copie une méthode d'une classe vers une autre classe
- classkit_method_redefine() - Change dynamiquement le code de la méthode donnée
- classkit_method_remove() - Efface dynamiquement une méthode donnée
- classkit_method_rename() - Change dynamiquement le nom d'une méthode donnée
- create_function() - Crée une fonction anonyme