PHP: valor de variable persistente

Tengo que leer un archivo y hacer algunos cálculos, que guardar el resultado de este cálculo dentro de una variable.

Solo necesito hacer esto una vez. En Java + Servlet puedo hacerlo utilizando un contenedor de servlets y, por ejemplo, el patrón singleton.

Sé que en PHP no puedo actuar así. ¿Cuál es la mejor manera de hacer esto? Guarde el cálculo (o transfiera los datos) en DB?

No, no funcionará como con Java Servlets. Tendrás que encontrar una solución alternativa.

Primero, asumo que usar $ _SESSION, $ _COOKIE o $ _REQUEST en general no es práctico para usted, ya que quiere guardar el estado por servidor (o por aplicación) y no por ‘User Session’.

Usar una base de datos suena practicable en su caso. En un diseño de aplicación regular, será la solución más común.

También puede hacer algo como esto, utilizando las capacidades de serialización de PHP:

 

El uso del bash serialize() PHP es especialmente factible cuando

  • Estás en un entorno exclusivo de PHP
  • $result es un tipo de datos complejo, pero no desea crear una estructura de base de datos y asignar $ result también

Si no está en un entorno PHP solamente, puede preferir otros formatos de serialización como JSON o XML.

Además, el resultado de la serialización se puede almacenar como una cadena en una base de datos en lugar de un archivo. Guardarlo en una base de datos en lugar de un archivo haría que la aplicación fuera más escalable, ya que el resultado estaría disponible para todos los servidores que acceden a la misma base de datos (clúster).

En resumen: sugiero usar una base de datos tal vez combinada con la serialización.