composants YII: les événements et les comportements?
Question
Je suis en train d'apprendre le cadre de yu et avoir lu leur documentation.
mais je ne comprends toujours pas les composants. Qu'est-ce que c'est. ils parlent des événements composantes et les comportements.
Quelqu'un pourrait-il expliquer ces termes pour moi et me donner des exemples concrets d'application de ce composant, ses événements et comportements pourrait être?
serait utile!
La solution
A CComponent par lui-même ne fait pas beaucoup. Il est très semblable à un QObject dans Qt. Un CComponent peut déclencher des événements, et peut avoir des délégués à des événements (par attachEventHandler ()).
En ce qui concerne les comportements, le manuel dit:
Les méthodes du comportement peuvent être invoqué comme si elles appartiennent à la composant. comportements multiples peuvent être sont fixés au même composant.
Pour associer un comportement à un composant, appeler attachBehavior; et pour détacher la le comportement du composant, appel detachBehavior.
Un comportement peut être temporairement activé ou désactivé en appelant enableBehavior ou disableBehavior, respectivement. Quand handicapés, les méthodes de comportement ne peut pas être invoqué par l'intermédiaire du composant.
A partir de la version 1.1.0, une Les propriétés de comportement (soit son variables membres publiques ou son propriétés définies par les getters et / ou setters) sont accessibles par la composant il est attaché.
Ce qui vous donne la possibilité de simuler un et fentes mécanisme , ou motif stratégie (en activant ou désactivant les comportements).
La plupart des classes de Yû ont CComponent comme une classe de base.
En tant qu'utilisateur, vous verrez les avantages qu'ils offrent à travers les mécanismes mentionnés ci-dessus lorsque vous allez créer vos propres composants (sous protection / composants /).
Vous pouvez trouver un bon point de départ pour la mise en œuvre des composants ici: http: // www .yiiframework.com / doc / Guide / basics.component
Autres conseils
Dans Yû, une application fonctionne grâce à l'interaction des différents objets, Ces objets peuvent être simplement considérés comme des « composants » ou « blocs de construction » de l'application. Un composant est simplement un objet qui a été écrit pour réaliser ou faciliter une tâche particulière dans une application Yii. Si vous avez à regarder « flux de travail typique d'une application Yii » sur [Http://www.yiiframework.com/doc/guide/1.1/en/basics.mvc] [1]
vous vous rendrez compte que, en dehors de la vue et mises en page (qui sont considérés comme des scripts) et index.php, tout ce qui interagit avec les autres est un composant. Ils exécutent toutes différentes tâches lorsque l'application est exécutée.
Presque tout dans Yii est un composant (ou dérivé de classe CComponent).
Plus précisément,
CComponent met en œuvre le protocole de définir, en utilisant les propriétés et événements. "
Événements : Events vous permettent d'effectuer une séquence (plusieurs) des actions lorsque se produit quelque chose de spécifique dans un composant. Vous définissez un événement et de joindre un certain nombre de fonctions (actions) à cet événement. Maintenant, chaque fois que l'événement est soulevée dans le composant, toutes les fonctions attachées à cet événement sont exécutées. Selon ma compréhension, ceux-ci sont assez semblables au concept de crochets dans Wordpress.
L'application spécifique des événements dans un composant est défini par Yii comme
Il est utile lorsque vous voulez interrompre le flux de l'application normale sans extension des classes de base.
Behaviors : Behaviors sont simplement la manière de Yû de vous offrir un héritage multiple, qui ne sont pas pris en charge par tout en éliminant PHP5 avec de multiples fonction même problème de nom de l'héritage multiple. Si vous souhaitez hériter des propriétés et méthodes de la classe A et B. Vous prolongez la classe A puis attachez la classe B comme son comportement, et vous pouvez utiliser toutes les méthodes de la classe B ainsi. Maintenant, si A et B contient une fonction nommée « usefulfunction () », tous les appels à cette fonction entraînera l'exécution de « usefulfunction » de la classe A seulement. Si les deux classe A et B ont été ajoutés comme des comportements à une classe, l'appel de « usefulfunction » entraînerait l'exécution de la méthode du comportement qui a été fixé en premier.
P.S. (Je ne suis pas un expert. Donc, s'il vous plaît me corriger si je me trompe partout.)
Peut-être cette page supplémentaire sur leur wiki pourrait fournir plus de perspicacité: http://www.yiiframework.com/wiki/44/behaviors-events/