Domanda

Attualmente sto imparando il quadro Yii e hanno letto la loro documentazione.

ma io continuo a non capire i componenti. cosa sono questi. si parla di eventi di componenti e comportamenti.

qualcuno potrebbe spiegare questi termini per me e mi danno esempi di applicazioni reali di ciò che un componente, i suoi eventi e comportamenti potrebbe essere?

sarebbe utile!

È stato utile?

Soluzione

Un componente I di per sé non fa molto. E 'molto simile a un QObject in Qt. Un componente I può generare eventi, e può avere i delegati ad eventi (tramite attachEventHandler ()).

Per quanto riguarda i comportamenti, il manuale dice:

  

I metodi del comportamento può essere   invocata come se essi appartengono al   componente. comportamenti multipli possono essere   attaccato allo stesso componente.

     

Per applicare un comportamento a un componente,   chiamare attachBehavior; e di staccare il   comportamento dal componente, chiamata   detachBehavior.

     

Un comportamento può essere temporaneamente abilitato   o disattivata chiamando enableBehavior   o disableBehavior, rispettivamente. quando   disabili, i metodi di comportamento non può   essere invocato tramite il componente.

     

A partire dalla versione 1.1.0, un   le proprietà di comportamento (o la sua   variabili membro pubbliche o la sua   proprietà definite tramite getter e / o   incastonatori) si può accedere attraverso il   componente a cui è collegato.

che vi dà la possibilità di simulare un segnali e meccanismo slot , o la strategia modello (abilitando o disabilitando i comportamenti).

La maggior parte delle classi di Yii hanno componente I come classe base.

Come utente, vedrete i benefici che forniscono attraverso i meccanismi di cui sopra, quando si creerà i propri componenti (sotto protetto / componenti /).

È possibile trovare un buon punto di partenza per l'implementazione di componenti qui: http: // www .yiiframework.com / doc / guide / basics.component

Altri suggerimenti

In Yu, un'applicazione opere attraverso l'interazione di diversi oggetti, presentate oggetto può essere considerato semplicemente "componenti" o "building blocks" dell'applicazione. Un componente è semplicemente un oggetto che è stato scritto per eseguire o facilitare un particolare compito in un'applicazione Yii. Se avete un'occhiata a "tipico flusso di lavoro di un'applicazione Yii" su [Http://www.yiiframework.com/doc/guide/1.1/en/basics.mvc] [1]

è ll rendersi conto che oltre alla vista e layout (che sono considerate script) e index.php, tutto ciò che interagisce con gli altri è un componente. Tutti svolgono compiti diversi quando si esegue l'applicazione.

Quasi tutto in Yii è un componente (o derivata dalla classe componente I).

In particolare,

  

attrezzi componente I del 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. È possibile definire un evento e allegare una serie di funzioni (azioni) per quell'evento. Ora, ogni volta che evento viene generato all'interno del componente, tutte le funzioni collegati a tale evento vengono eseguite. Come per la mia comprensione, questi sono in qualche modo simile al concetto di ganci in Wordpress.

L'applicazione specifica di eventi in un componente è definito da Yii il

  

E 'utile quando si desidera interrompere il normale flusso applicativo senza estendere le classi di 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 proprietà ereditare e metodi di classe A e B. È estendere classe A e quindi collegare classe B come il suo comportamento, e quindi è possibile utilizzare tutti i metodi della classe B pure. Ora, se entrambi A e B una funzione denominata contenevano 'usefulfunction ()', tutte le chiamate a questa funzione si tradurrà in esecuzione di 'usefulfunction' dalla classe solo A. Se di classe A e B sono stati aggiunti come comportamenti a una classe, allora la chiamata 'usefulfunction' comporterebbe esecuzione del metodo dal comportamento che è stato attaccato prima.

P.S. (Io non sono un esperto. Quindi, per favore mi corregga se sto da nessuna parte sbagliata.)

Forse questa pagina in più sul loro wiki potrebbe fornire un quadro più chiaro: http://www.yiiframework.com/wiki/44/behaviors-events/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top