6
votes

PHP: Comment réaliser un gestionnaire d'événements?

Je veux ajouter un gestionnaire d'événements personnalisé à la méthode de l'objet.

J'ai une classe avec la méthode. p> xxx pré>

Je veux ajouter un événement à la méthode Ajouter Code> et transmettre l'argument (s) de la méthode du gestionnaire d'événements. P>

function AddEventHandler($event, $handler){
    // What should this function do?
}

$handler = function($title){
    return strtoupper($title);
}

AddEventHandler('beforeAdd', $handler);


0 commentaires

4 Réponses :


4
votes

devrait être assez facile à l'aide des fonctions définies ici http: //www.php .NET / Manual / fr / book.funchand.php

En particulier, vous devez conserver un réseau de manipulateurs (ou une matrice de tableaux si vous souhaitez plusieurs gestionnaires pour le même événement), puis faites quelque chose comme xxx

ou xxx

dans le cas de multiples gestionnaires.

invoquer les gestionnaires alors serait la matière d'appeler " Call_user_func " (éventuellement dans un cycle si Des gestionnaires multiples sont nécessaires)


1 commentaires

Comment appeler le (s) manuel (s) de mon Ajouter Méthode?



1
votes

Eh bien, si vous utilisez xxx

alors que vous stockiez $ gestionnaire dans la classe et vous pouvez l'appeler comme vous le désirez.


0 commentaires

1
votes

Méthodes

Vous avez plusieurs méthodes Comment le faire décrit par ircmaxell ici .

Et voici, Torohook utilisé dans Torophp (routing lib).

Crochet xxx

à l'aide de crochet

Il est simple d'appeler comme ceci: xxx


0 commentaires

1
votes

Regardez sur mon Sphido / Événements Bibliothèque:

  • Il est facile d'utiliser (quelques lignes de code)
  • basé sur Manipulation de la fonction PHP
  • Autoriser la priorité aux auditeurs
  • Ajouter / Supprimer les auditeurs
  • Valeurs de filtrage par Fonctions
  • Arrêtez la propagation dans la chaîne de fonction
  • Ajouter un gestionnaire par défaut

    Evénement Manutention Exemple xxx

    fonction de filtre xxx


0 commentaires