(PECL runkit >= 0.7.0)
runkit_method_add — Ajoute dynamiquement une nouvelle méthode à une classe donnée
$classname
, string $methodname
, string $args
, string $code
[, int $flags
= RUNKIT_ACC_PUBLIC
[, string $doc_comment
= NULL
]] ) : bool$classname
, string $methodname
, Closure $closure
[, int $flags
= RUNKIT_ACC_PUBLIC
[, string $doc_comment
= NULL
]] ) : bool
classname
La classe dans laquelle la méthode sera ajoutée
methodname
Le nom de la méthode à ajouter
args
Liste des arguments séparés par des virgules pour la nouvelle méthode créée
code
Le code à être évalué lors que methodname
est
appelé
closure
Une closure qui définit la fonction.
flags
Le type de méthode à créer, peut être
RUNKIT_ACC_PUBLIC
,
RUNKIT_ACC_PROTECTED
ou
RUNKIT_ACC_PRIVATE
optionnellement combiné
via un OR avec RUNKIT_ACC_STATIC
(depuis la versin 1.0.1)
doc_comment
Le commentaire de documentation de la fonction.
Cette fonction retourne TRUE
en cas de succès ou FALSE
si une erreur survient.
Version | Description |
---|---|
runkit 1.0.4 |
Une syntaxe alternative s'attendant a une closure a été ajouté.
|
runkit 1.0.4 |
Le paramètre optionel doc_comment a été ajouté.
|
Exemple #1 Exemple avec runkit_method_add()
<?php
class Example {
function foo() {
echo "foo!\n";
}
}
// Crée un objet Example
$e = new Example();
// Ajoute une nouvelle méthode publique
runkit_method_add(
'Example',
'add',
'$num1, $num2',
'return $num1 + $num2;',
RUNKIT_ACC_PUBLIC
);
// ajoute 12 + 4
echo $e->add(12, 4);
?>
L'exemple ci-dessus va afficher :
16