Facebook LinkedIn SourceForge Twitter RSS LastFM
logologo

PHP 5.2.9 amliore la mthode magique __call()

Geoffray Warnants|02/03/2009|1 commentaire

Avec quelques jours de retard, je viens de tester les améliorations mineures apportées par la toute fraiche release 5.2.9 de PHP, dernière ligne droite avant la très attendue 5.3. Outre les corrections de plusieurs bugs, cette nouvelle version présente une légère amélioration du comportement de la méthode magique __call() vis à vis des méthodes privées et protégées. Ainsi, sous les versions antérieures à 5.2.9, l'exemple suivant se soldait par une toute belle Fatal error: Call to private method Foo::bar() from context ''

<?php
class Foo {
    public function __call($method, $args) {
        if (method_exists($this, $method)) {
            call_user_func_array(array($this, $method), $args);
        }
    }
    private function bar() {
        echo 'Hello';
    }
}

$foo = new Foo();
$foo->bar();
?>

Bonne nouvelle : cet agaçant comportement que tout un chacun a probablement déjà rencontré fait désormais partie du passé.

<<< Retour

Vos commentaires

1 commentaire posté

Betty Lechat
16/09/2020 04:27Posté par Betty Lechat
En termes d?informatique, j?avoue que je suis compltement nul. Mais j?ai essay d?apprendre certaines bases en consultant votre site, et je suis fier de moi. Mais cela n?aurait pas t possible sans votre travail. Merci beaucoup?!

Réagir à cet article

*


(Ne sera pas publiée, servira uniquement à afficher votre gravatar)


(Lien en dur et dofollow)

zend framework