Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    persistenza informazioni lato server

    ciao

    ultimamente ho frequentato un corso di servlet/jsp...devo dire che ho rivalutato un bel po questo sistema di sviluppo...soprattutto per quanto riguarda le potenzialità a disposizione per webservices ecc ecc....

    vorrei capire una cosa, la possibilità di mantenere delle informazioni lato server che da java (ad esempio quando una servlet viene caricata in memoria ci resta, anche se il client chiude la connessione...) sarebbe la vera svolta che permetterebbe a php di utilizzare strutture completamente ad oggetti, senza dover continuamente accedere alle basi di dati per ricrearsi tutto quello che gli serve

    mi domandavo quindi una cosa: è fattibile secondo voi, salvare tutto in sessione e poi ricaricarselo, in modo da creare una sorta di persistenza "virtuale" ?
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Da qualche mese sto lavorando su java e tomcat, purtroppo il mio approccio è stato del tipo "ecco questa è la piattaforma, comincia a lavorarci".
    Mi mancano molte cose teoriche, quindi non posso parlarti di persistenza di sessione anche dopo la chisura del browser, ma ti posso dire per quanto riguarda php:

    la sessione dovrebbe comunque durare, il problema è che se tu non conosci il session_id allora alla chiusura del browser la perdi (prova a fare un echo del sessio id, e a copiartelo, dopodichè prova a ricaricare la pagina passandolo in get).
    Dovrebbe andare.

    Per quanto riguarda l'altra domanda la risposta è "perchè no?".
    al posto di mettere in sessione un valore accedendo direttamente all'arrat $_SESSION con chiave->valore, puoi istanziare una classe utente (ad esempio), e mettere in sessione l'istanza, e accedere ai suoi metodi con una notazione del genre:

    $_SESSION['utente']->login($user,$pass);

    puoi a questo punto mettere nell'oggetto utente tutto quello che ti pare, senza dover fare una query per ogni pagina.

    Lavorando con tomcat+struts, ho portato questo metodo di lavoro su php, avvicinandomi a smarty, in modo da seguire anche la teoria dell'MVC.

    Ciao ciao

  3. #3
    Lavorando con tomcat+struts, ho portato questo metodo di lavoro su php, avvicinandomi a smarty, in modo da seguire anche la teoria dell'MVC.
    Anche io uso smarty ma cos'è MVC?
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  4. #4
    ecco, arriva la domanda chiave di tutto:

    quando salvo un dato in sessione viene serializzato, giusto?

    ma la serializzazione funziona come in java? mi spiego, supponiamo di avere la classe db utenti

    lasciate perdere la sintassi..non mi ricordo gli array in php....

    Codice PHP:
    class Dbutenti{

    Utente []db;

    Codice PHP:
    class Utente{

    private 
    username;
    private 
    password;

    /* ... e via cosi*/


    supponiamo ora che Dbutenti sia un'istanza contenente 10 utenti, quando salvo l'istanza Dbutenti in sessione, si porta dietro l'arraylist con tutto il contenuto??

    altra domanda...questa cosa non ha un problema di scalabilità?

    se mi si collegano 100 utenti al "portale" mi trovo 100 sessioni con salvato l'intero portale....o sbaglio?
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  5. #5
    Onestamente non ho capito bene che vuoi dire!

    Cmq l'oggetto DButenti non contiene tutti i dati dell'utente!

    La cosa funziona in questo modo:

    Quando l'utente si collega controlli se ha il sid (session ID).

    Se ha il sid estrai tutti i dati di sessione corrispondenti a quel sid e li salvi in sessione (lascia perdere se usando gli oggetti o la prog procedurale).

    Se l'utente non ha il sid lo crei e lo memorizzi in un cookie sul client per poterlo recuperare alla successiva connessione del client.

    Ora, se tu ai dati di sessione ci accedi con un oggetto o ci accedi con il sistema procedurale non ha iportanza: i dati rimangono sempre in sessione e sono validi per un solo utente.

    Se hai 100 utenti collegati avrai i dati di sessione dei 100 utenti collegati.
    Ma per ogni utente avrai a disposizione solo i dati relativi a quell'utente e non i dati di tutti gli utenti.

    PS
    La sintassi degli array è questa

    $array['chiave1']['chiave2']['...'] = 'valore' ;



    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da mircov
    Anche io uso smarty ma cos'è MVC?
    ecco un link
    http://www.mokabyte.it/1997/11/swing.htm

    a metà pagina spiega il concetto di MVC.

    ciao

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da nik600
    se mi si collegano 100 utenti al "portale" mi trovo 100 sessioni con salvato l'intero portale....o sbaglio?
    bhe poi sta a te valutare cosa ti conviene registrare in sessione, ovvio che se hai un listino personalizzato per l'utente non puoi registrare in sessione tutti gli articoli...

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.