es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo debo organizar mi estructura de archivos en CodeIgniter4 para ahorrar memoria?

En mi base de código de CodeIgniter4, actualmente tengo un puñado de archivos que he configurado como bibliotecas que incluyen funciones para realizar propósitos de amplio alcance y generalmente están relacionados con tablas específicas de mi base de datos. La funcionalidad de estas bibliotecas incluye:

  • Análisis y formateo de datos (por ejemplo, extraer datos de múltiples Modelos, realizar algunos cálculos y formatearlos para que se puedan mostrar en las Vistas).
  • Almacenamiento y filtrado de contenido (por ejemplo, determina los mensajes que se deben mostrar según los datos de la entidad).
  • Cálculo de envío de formularios (puede ser mucho y no quería sobrecargar los Controladores).

Estas bibliotecas se acceden desde múltiples Controladores e incluso algunas otras Bibliotecas. El problema es que no sé si deberían ser Bibliotecas o si deberían configurarse como algo más. No necesito nuevas instancias de las Bibliotecas cada vez que se acceden, ya que eso podría ser una pérdida de memoria. Idealmente, se configurarían como Modelos y se accederían a través de Fábricas que compartirían la instancia, pero estos archivos no manejan directamente los datos de la aplicación.

¿Alguna sugerencia?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Considere establecer las Bibliotecas como Servicios, los cuales pueden ser accesibles desde múltiples Controladores y Bibliotecas sin necesidad de crear nuevas instancias cada vez.
    Cree Fábricas para las Bibliotecas, lo que les permitirá ser accesibles desde múltiples Controladores y Bibliotecas mientras comparten la misma instancia.
    Considere el uso de un Contenedor de Inyección de Dependencias (DIC) para gestionar las Bibliotecas, lo que les permitirá ser accesibles desde múltiples Controladores y Bibliotecas mientras comparten la misma instancia.

Comments are closed.