requerimientos - Cuál es la diferencia entre componente, extensión y módulo en Yii
yii2 requerimientos (2)
Agregando mis 2 centavos aquí ...
Componente
su propio archivo de clase con el que desea hacer algo, específico para este sitio solamente. Algunos ejemplos son la clase de compresión zip en una aplicación de carga, algo de cifrado personalizado para alguna aplicación de seguridad
Extensión
Un archivo de clase externo o un grupo de archivos que son reutilizables, a menudo proporcionados por terceros. Algunos ejemplos son la biblioteca de facebook connect que usted u otra persona creó, la biblioteca de api de ebay.com para obtener el listado, la biblioteca de lectores de rss para leer desde google, etc.
Módulo
Un sitio basado en mini- yii que sirve como un subconjunto de su sitio, también puede ser reutilizable en otras aplicaciones o es independiente de la construcción para hacer que yii sea aún más modular. Los ejemplos son, un módulo de foro que es independiente del sitio pero utiliza solo la información de usuario registrada, un módulo de autenticación de usuario que contiene integración con varios sitios como openid, facebook y google.
Soy nuevo en el framework Yii, y acabo de encontrar el módulo , la extensión y el componente dentro de la carpeta protegida.
¿Alguien puede por favor diferenciarlos tanto teórica como prácticamente también?
Los componentes son las clases que pueden ayudarlo a escribir la lógica comercial en función de sus modelos. Supongamos que todos los archivos de su modelo utilizan la misma lógica, para que la lógica se pueda escribir dentro del componente en lugar de escribir para cada 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, escribir cualquier extensión de correo electrónico.
El módulo es una unidad de software autónomo que consta de modelos, vistas, controladores y otros componentes de soporte. En muchos aspectos, un módulo se asemeja a una aplicación. La principal diferencia es que un módulo no se puede implementar solo y debe residir dentro de una aplicación. Los usuarios pueden acceder a los controladores en un módulo como lo hacen con los controladores de aplicaciones normales.
Espero que te ayude.