Forum und email

classkit_method_add

(PECL classkit:0.1-0.4 runkit:0.7-0.9)

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

Description

bool classkit_method_add ( string $classname , string $methodname , string $args , string $code [, int $flags ] )
Warning

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.

Liste de paramètres

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 pour la nouvelle méthode créee

code

Le code à évaluer 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.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

Exemples

Example#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(124);
?>

L'exemple ci-dessus va afficher :

16