Tengo una duda y queria saber si es posible o no.
Por dar un ejemplo simple, supongamos que quiero hacer un sistema de salas de chat donde la gente cree o entre a una sala y publique mensajes, (para hacerlo mas simple, sera anonimo, solo se indica la sala y se publican msj dentro,, nada mas)
habia pensado en algo asi:
Código PHP:
Ver original
// salas.php <?php class salas { }
Código PHP:
Ver original
// publicar.php require('salas.php'); // Estas variables vendrian desde un formulario por post $_POST['id_sala'] = 4; $_POST['texto'] = 'Hola, soy un mensaje'; salas::mensajes[$_POST['id_sala']][] = $_POST['texto'];
Código PHP:
Ver original
// consultar.php require('salas.php'); // Estas variables vendrian desde un formulario por post $_POST['id_sala'] = 4;
La idea es que mientras alla alguien conectado, la clase estatica contenga los mensajes, al desconectarse todos esta dejaria de existir "vaciendose" y cuando vuelva alguien a conectarse esta se crearia nuevamente.
El problema esta en que no se como (si se puede) "mantener viva" a la clase despues que termina la ejecucion de un script y no hay ningun otro ejecutandose por un cierto tiempo antes de que se borre, digamos 30 segundos, como si fuese la fecha de expiracion de las sessiones.
La idea es no guardar nada fisicamente, que todo sea volatil y que no halla registro de nada.
En Java, una clase estatica es la misma para todos los usuarios, pero nose si en php es igual ya que el manual ni lo niega ni lo confirma, hace unicamente referencia a como se comporta dentro de un mismo script pero no a como se comporta cuando hay mas de un usuario utilizandola en simultaneo.