2010-06-24 23 views
18

Comencé a usar Codeigniter para un proyecto recientemente (hace algunos meses) pero se está saliendo un poco de la mano con un grupo de modelos que necesitan interactuar entre ellos y me preguntaba si debería crear una biblioteca.Codeigniter: cuándo usar un modelo frente a la biblioteca?

En mi caso, tengo una acción de usuario que ocurre cuando ganas un juego y se registra en mi user_model, pero también quiero que se ponga en mi modelo_de_suceso?

¿Debería algo como esto que afecta a varios modelos convertirse en una biblioteca?

Sé que NO debe estar en el controlador porque tendría que volver a utilizar este disparador en varios controladores (puede que no tenga sentido para el ejemplo proporcionado, pero sí para mi aplicación).

Respuesta

21

bibliotecas están destinados a proporcionar funcionalidad reutilizable para su aplicación, mientras que los modelos de la arquitectura MVC representan la lógica de datos o en los datos reales utilizados por la aplicación.

Para responder a su pregunta, puede implementar una biblioteca que maneje la actualización de varios modelos. Solo asegúrese de que sus propios modelos manejen elementos como los insertos de la base de datos, ya que eso es más lógica de negocios que lógica de la aplicación.

2

Puede dejar sus modelos modularizados tal como están y escribir su lógica en bibliotecas, de esta manera puede acceder a modelos mutilple a través de una sola función en una biblioteca, sin desordenar sus controladores cargando múltiples modelos y sin orientación de interfaz la lógica se mezcló con la lógica de la interfaz.

Cuestiones relacionadas