En Yû, une application fonctionne grâce à l'interaction des différents objets , Ces objets peuvent être simplement considérés comme des "composants" ou des "briques" de l'application. Un composant est simplement un objet qui a été écrit pour effectuer 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 des mises en page (qui sont considérées comme des scripts) et de l'index.php, tout ce qui interagit avec les autres est un composant. Ils effectuent tous des tâches différentes lorsque l'application est exécutée.
Presque tout dans Yii est un composant (ou dérivé de la classe CComponent).
Plus précisément,
CComponent implémente le protocole de définir, en utilisant les propriétés et événements «
Events. Events vous permettent d'effectuer une séquence (plus d'un) d'actions Lorsque quelque chose de spécifique se produit dans un composant, vous définissez un événement et attachez un certain nombre de fonctions (actions) à cet événement.A présent, chaque fois que cet événement est levé dans le composant, toutes les fonctions attachées à cet événement sont exécutées. , ce sont un peu similaire au concept de crochets dans Wordpress.
L'application spécifique des événements dans un composant est défini par Yû comme
Il est utile lorsque vous voulez interrompre le flux de l'application normale sans extension des classes de base.
: Behaviors sont tout simplement Behaviors 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 des méthodes de classe A et B. Vous étendez la classe A, puis attachez la classe B à son comportement, et vous pouvez également utiliser toutes les méthodes de classe B également. Maintenant, si A et B contenaient une fonction nommée 'utilefunction()', tous les appels à cette fonction se traduiront par l'exécution de 'usefulfunction' à partir de la classe A seulement. Si les classes A et B étaient ajoutées en tant que comportements à une classe, l'appel 'utilefunction' entraînerait l'exécution de la méthode à partir du comportement qui était attaché en premier.
P.S. (Je ne suis pas un expert, alors corrigez-moi si je me trompe.)