3 votes

Stocker une fonction de fermeture dans une propriété de classe en PHP

Ok j'ai le code ci-dessous

<?php
    class foo{
       public $bar = NULL;

       public function boo(){
          $this->bar();
       }
    }

    $mee = new foo();

    //save a closure function on the property
    $mee->bar = function(){
        echo 'hahaha';
    };

    //invoke the closure function by using a class method
    $mee->boo();
?>

et vous pouvez le voir fonctionner ici http://codepad.org/s1jhi7cv

Maintenant, ce que je veux ici est de stocker la fonction de fermeture sur la méthode de la classe.

Les fermetures sont possibles comme je l'ai lu dans la documentation ici. http://php.net/manual/en/functions.anonymous.php

est-ce possible ? ai-je fait une erreur ? corrigez-moi s'il vous plaît.

0voto

Ionuț G. Stan Points 62482

Utilice __call pour attraper toutes les méthodes non définies, puis rechercher la fermeture et l'invoquer. Jetez un coup d'œil à mon article sur ce sujet Fil de discussion SitePoint .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X