2011-12-08 13 views

Respuesta

25

acuerdo con mi poca experiencia en Yii:

Los componentes son las clases que pueden ayudarle a escribir la lógica de negocio sobre la base de sus modelos. Definitivamente no quiere codificar todo su trabajo en controladores, entonces necesita que el componente distribuya su código y lo llame en el controlador.

Las extensiones son como las bibliotecas, que básicamente no dependen de sus modelos, y por lo tanto se pueden reutilizar en cualquier lugar en proyectos actuales o posteriores. Por ejemplo: una extensión de correo electrónico o una clase que envía tweets a su cuenta de Twitter.

Puede ser diferente para otros programadores/usuarios.

+0

Arfeen, excelente explicación, ahora tengo extensiones. Sin embargo, ¿qué pasa con los componentes? ¿Puedes dar un ejemplo de cuándo iría algo aquí en lugar de hacerlo directamente en la clase modelo? –

+3

Esta es mi práctica habitual, supongamos que debe gestionar usuarios, por lo que siempre creo un componente donde las funciones administrarán usuarios, por ejemplo, inicio de sesión, cierre de sesión, nuevo usuario, cambio de estado y todas las funciones relacionadas con las tareas de usuario/usuario. Y definitivamente todas estas funciones usarían el modelo de usuario. – Arfeen

+0

increíble, gracias! –

Cuestiones relacionadas