(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
] )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.
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 sont 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
);
// add 12 + 4
echo $e->add(12, 4);
?>
L'exemple ci-dessus va afficher :
16