2011-12-08 3 views

risposta

25

Secondo la mia poca esperienza su Yii:

I componenti sono le classi che possono aiutare a scrivere la logica di business sulla base di modelli. Sicuramente non vuoi codificare tutto il tuo lavoro nei controller, quindi hai bisogno del componente per distribuire il tuo codice e chiamarlo nel controller.

Le estensioni sono come le librerie, che fondamentalmente non dipendono dai modelli, e quindi possono essere riutilizzate ovunque nei progetti attuali o successivi. Ad esempio: un'estensione email o una classe che invia tweet al tuo account Twitter.

Potrebbe essere diverso per altri codificatori/utenti.

+0

Arfeen, ottima spiegazione, ottengo le estensioni ora. Per quanto riguarda i componenti però? Puoi dare un esempio di quando qualcosa andrebbe qui invece che direttamente nella classe del modello? –

+3

Questa è la mia pratica comune, supponiamo di dover gestire gli utenti, quindi creo sempre un componente in cui le funzioni gestiranno gli utenti, ad esempio login, logout, nuovo utente, cambio di stato e tutte le funzioni relative a un utente/attività utente. E sicuramente tutte queste funzioni utilizzerebbero il modello utente. – Arfeen

+0

fantastico, grazie! –