Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885

    Dubbi su variabili static e ritorno valori nelle pagine 'MVC'

    ciao a tutti, vorrei creare un quesito che spero venga soddisfatto.

    Qualche volta mi è sorto il dubbio di come poter trasportare dei messaggi (di errore, avvisi etc..) da una pagina 'model' ad una pagina 'view'.

    Alcuni di voi 'anziani' nel linguaggio mi hanno detto che devo utilizzare le sessioni.
    Questo è quello che per ora sto facendo non avendo trovato una soluzione alternativo.
    Io però nel corso del tempo stavo cercando una soluzione alternativa per evitare di dover caricare ogni volta una sessione e poi unsettare questa variabile globale, sono giunto alla conclusione (fino ad ora) di poter utilizzare un oggetto con al suo interno delle variabili e metodi static.

    Sapendo che le variabili statiche non perdono il suo contenuto alla fine della loro esecuzione mi chiedevo se era possibile richiamare la stessa variabile nella pagina 'view' una volta che sia stata settata nella pagina 'model'.
    Ovviamente questa classe che conterrà i messaggi:
    cercherò di fare un esempio per togliere alcuni duppi :

    Codice PHP:
    //classe dove carico i messaggi
    class controllo {


    public static function 
    controllo_testo ($var){
    if (empty (
    $var)){
     
    self::caricamessaggio()  = self::GetVuoti();
      return 
    false;
    }else{
     
    self::caricamessaggio() = self::GetPieni();
     return 
    true;
    }
    }

    private static 
    GetPieni (){
      
    $messaggio "Il campo è pieno";
    return 
    $messaggio;
    }

    private static 
    GetPieni (){
      
    $messaggio "Il campo è vuoto";
    return 
    $messaggio;
    }

    public static 
    caricamessaggio(){
      return 
    $var;
    }

    Codice PHP:
    //classe dove effettuo il controllo e dove viene reindirizzato
    //non inserisco le inclusioni ai file ma ci sarebbero

    $variabile $_POST['var'];

    $verifica self::controllo_testo($variabile);

    header("Location:../../index.php"); 
    Codice PHP:
    //non ci sono inclusioni e altra robetta, e solo per mostrare meglio ciò che intendo
    echo self::caricamessaggio(); 
    cosi facendo magari correggendo alcune digitature non dovrebbe scrivermi il messaggio che ho impostato precedentemente nella classe?

    se vera = "Il campo è pieno"
    se falsa = "Il campo è vuoto"

    Grazie mille delle risposte.

  2. #2

    Re: Dubbi su variabili static e ritorno valori nelle pagine 'MVC'

    Originariamente inviato da tapu
    Sapendo che le variabili statiche non perdono il suo contenuto alla fine della loro esecuzione
    E da quando?

    IMHO stai sbagliando completamente la struttura MVC.

    Il ciclo di esecuzione DEVE essere contenuto all'interno della stessa richiesta HTTP (ovvero senza header location e simili), altrimenti DOVRAI per forza utilizzare un sistema per mantenere lo stato (es. sessioni, db, etc.)

  3. #3
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    Ok ... quindi
    se dichiaro una variabile statica all'interno di una funzione ogni qual volta che richiamo la funzione la variabile non viene re-dichiarata. ma solo all'interno della funzione stessa!
    Mentre eseguo una richiesta http allora la funzione si resetta e sono obbligato ad usare le sessioni.
    oltre sessioni, esiste un qualcosa che mi conservi le variabili anche dopo una richiesta http nuova?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.