(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.
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
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