• User Newbie

    php supporta co-funzioni che possono aggiornare le variabili statiche l'una dell'altra?

    Ho una funzione che ha variabili locali statiche, che voglio reinizializzare ogni volta che viene richiesta una nuova versione di una pagina web quando si naviga su questa pagina web o la si aggiorna, cosa che, penso avvenga automaticamente quando questa funzione viene chiamata dal controller Symfony. Quando questa funzione viene chiamata per la prima volta, aggiorna le variabili locali statiche della funzione per tenere traccia del primo caso di chiamata effettuato, imposta il valore restituito per le chiamate successive e quindi restituisce un valore di risultato diverso per la prima chiamata.

    Tuttavia, la richiesta della stessa pagina Web con una chiamata Ajax che chiama lo stesso controller reinizializzerà anche le variabili locali statiche di questa funzione, il che significa che dimentica che è stato precedentemente chiamato, ma nel caso di una chiamata Ajax voglio che questa funzione restituisca lo stesso valore che è stato risintonizzato la seconda e le successive volte in cui è stato (o sarebbe stato) restituito quando la pagina Web è stata creata per la prima volta.

    Il mio pensiero è quello di creare una co-funzione in grado di gestire le variabili locali statiche della prima funzione e forzarle ai loro valori agli ultimi valori che avevano quando questa funzione era stata chiamata l'ultima volta quando è stata creata la pagina Web per la prima volta,

    Come posso fare questo?


    giuseppemorelli 1 Risposta
  • Moderatore

    Ciao @gleen41 ,
    senza almeno uno snippet di codice la vedo un po' difficile capire nel dettaglio.
    In generale se vuoi mantenere dei dati in memoria ogni volta che richiami un controller ti serve un sistema di cache per salvare i dati (o se deve essere permanente lo devi salvare a db)

    Se usi Symfony puoi usare il loro sistema: https://symfony.com/doc/current/components/cache.html