In Yii, un'applicazione funziona attraverso l'interazione di diversi oggetti , Questi oggetti possono essere semplicemente considerati "componenti" o "blocchi" dell'applicazione. Un componente è semplicemente un oggetto che è stato scritto per eseguire o facilitare una particolare attività in un'applicazione Yii. Se guardi "Flusso di lavoro tipico di un'applicazione Yii" su [http://www.yiiframework.com/doc/guide/1.1/en/basics.mvc][1]
ti rendi conto che a parte dalla vista e layout (che sono considerati script) e indice.php, tutto ciò che interagisce con gli altri è un componente. Compiono tutti compiti diversi quando viene eseguita l'applicazione.
Quasi tutto in Yii è un componente (o derivato dalla classe CComponent).
Più in particolare,
componente I implementa il protocollo di definizione, utilizzando le proprietà e gli eventi "
Eventi:. Eventi consentono di eseguire una sequenza (più di uno) di azioni quando qualcosa di specifico accade all'interno di un componente, definisci un evento e allega un numero di funzioni (azioni) a quell'evento. Ora, ogni volta che quell'evento viene generato all'interno del componente, vengono eseguite tutte le funzioni associate a quell'evento. , questi sono in qualche modo simile al concetto di hook in Wordpress.
L'applicazione specifica di eventi in un componente è definita da Yii come
È utile quando si vuole interrompere il normale flusso applicativo senza estendere classi base.
Comportamenti: comportamenti sono semplicemente il modo di Yii di fornire con l'ereditarietà multipla, che non è supportato da PHP5 mentre eliminando con la funzione-stesso multipla problema nome di ereditarietà multipla. Se si desidera ereditare proprietà e metodi dalla classe A e B. Estendere la classe A e quindi associare la classe B come comportamento, e quindi è possibile utilizzare anche tutti i metodi della classe B. Ora, se sia A sia B contenevano una funzione chiamata 'usefulfunction()', tutte le chiamate a questa funzione porteranno all'esecuzione della 'funzione utile' solo dalla classe A. Se entrambe le classi A e B sono state aggiunte come comportamenti a una classe, la chiamata 'usefulfunction' risulterebbe nell'esecuzione del metodo dal comportamento che era stato allegato per primo.
P.S. (Non sono un esperto, quindi per favore correggimi se sbaglio dovunque.)
fonte
2012-07-15 17:38:59