(PECL classkit >= 0.1)
classkit_method_add — Ajoute dynamiquement une nouvelle méthode à une classe donnée
$classname
, string $methodname
, string $args
, string $code
[, int $flags = CLASSKIT_ACC_PUBLIC
] ) : boolCette fonction est EXPERIMENTALE. Le comportement de cette fonction, son nom, et toute la documentation autour de cette fonction peut changer sans préavis dans une prochaine version de PHP. Cette fonction doit être utilisée à vos risques et périls.
classnameLa classe où la méthode doit être ajoutée
methodnameLe nom de la méthode à ajouter
argsListe 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 ou
CLASSKIT_ACC_PRIVATE
Note:
Ce paramètre est utilisé depuis PHP 5, car avant cette version, toutes les méthodes étaient publiques.
Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.
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