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!

Était-ce 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/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top