Ajoute dynamiquement une nouvelle méthode à une classe donnée

# runkit_method_add

(PECL runkit >= 0.7.0)

runkit_method_add — Ajoute dynamiquement une nouvelle méthode à une classe donnée

### Description

runkit_method_add ( string `$classname` , string `$methodname` , string `$args` , string `$code` [, int `$flags` = RUNKIT_ACC_PUBLIC [, string `$doc_comment` = `NULL` ]] ) : bool
runkit_method_add ( string `$classname` , string `$methodname` , Closure `$closure` [, int `$flags` = RUNKIT_ACC_PUBLIC [, string `$doc_comment` = `NULL` ]] ) : bool

### Liste de paramètres

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

### Valeurs de retour

Cette fonction retourne `TRUE` en cas de succès ou `FALSE` si une erreur survient.

### Historique

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

### Exemples

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

### Voir aussi

- runkit_method_copy() - Copie une méthode d'une classe à une autre
- runkit_method_redefine() - Change dynamiquement le code de la méthode donnée
- runkit_method_remove() - Supprime dynamiquement la méthode donnée
- runkit_method_rename() - Change dynamiquement le nom de la méthode donnée
- runkit_function_add() - Ajoute une nouvelle fonction, similaire à create_function