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

    Vettore che carica oggetti se non sono caricati

    Salve,
    grazie in anticipo per colore che mi mi aiuteranno, e anche a quelli che vorrebbero ma non sanno la risposta

    Cerco di descrivere brevemente il problema.
    1) Ho un vettore $UTENTI[]
    2) Ho una tabella su mysql che contiene tutti gli utenti e ha come ID un numero.

    Ho creato una classe che gestisce ogni utente.
    Per creare un oggetto devo fare $UTENTI[$USER_ID]=new User($USER_ID);
    Così nell'indice del vettore ho l'oggetto della classe di quell'utente e quando mi servono dei dati particolari di quell'utente uso il suo oggetto.

    Pero' il mio problema è che non devo caricare tutti gli utenti.

    Accidenti, non riesco a spiegarlo bene, ma ci provo.
    Il vettore $UTENTI[] è vuoto.
    Faccio questa riga ed il vettore è vuoto: $UTENTI[$USER_ID]->cambia_password("dio");
    Ci deve essere qualcosa che quando vede che il vettore è vuoto, va a fare il new User su quell'indice.

    E' possibile?
    Grazie in anticipo
    ...

  2. #2
    Codice PHP:
    if(!isset($UTENTI[$USER_ID])) $UTENTI[$USER_ID]=new User($USER_ID); 
    $UTENTI[$USER_ID]->cambia_password("dio"); 
    Può essere?

    Lungo le due rive del fiume gelato si stendeva la cupa e tetra foresta di abeti, dai quali il vento aveva appena spazzato il manto di brina. Nella luce crepuscolare quegli abeti neri e sinistri sembravano inclinarsi l'uno verso l'altro. Un silenzio minaccioso incombeva sul paesaggio, privo di qualsiasi segno di vita o di movimento, e desolato e freddo al punto da non poter ispirare che un solo sentimento: quello della più triste malinconia. E nello stesso tempo pareva che da quel paesaggio trapelasse una specie di riso, un riso ben più spaventoso di qualsiasi malinconia o tristezza, un riso tragico, come quello di una sfinge, un riso agghiacciante più della brina e che rammendava l'incombere minaccioso dell'ineluttabile. Era la saggezza potente e impenetrabile dell'eternità che irrideva alla vita, alla sua futilità e agli sforzi degli uomini.

  3. #3
    Nu ; ;
    Io volevo evitare di fare in controllo

    in perl si può fare, ad esempio.
    Si crea un oggetto e si lega ad un hash. A quel punto la creazione, il delete delle chiavi, e il ritorno dei valori sono gestiti da una classe specifica.

    $ciao->{'pippo'}; # La classe gestisce questa variabile.

    Se riesco a controllare il flusso posso creare l'oggetto quando non esiste

    Non si può fare in php?
    ...

  4. #4
    Non riesco a capire cosa vuoi fare, però mi piacerebbe capire.
    Puoi spiegari meglio?

    Lungo le due rive del fiume gelato si stendeva la cupa e tetra foresta di abeti, dai quali il vento aveva appena spazzato il manto di brina. Nella luce crepuscolare quegli abeti neri e sinistri sembravano inclinarsi l'uno verso l'altro. Un silenzio minaccioso incombeva sul paesaggio, privo di qualsiasi segno di vita o di movimento, e desolato e freddo al punto da non poter ispirare che un solo sentimento: quello della più triste malinconia. E nello stesso tempo pareva che da quel paesaggio trapelasse una specie di riso, un riso ben più spaventoso di qualsiasi malinconia o tristezza, un riso tragico, come quello di una sfinge, un riso agghiacciante più della brina e che rammendava l'incombere minaccioso dell'ineluttabile. Era la saggezza potente e impenetrabile dell'eternità che irrideva alla vita, alla sua futilità e agli sforzi degli uomini.

  5. #5
    Originariamente inviato da IroN@xiD
    Non riesco a capire cosa vuoi fare, però mi piacerebbe capire.
    Puoi spiegari meglio?

    Ciauzz

    Allora, io ho qualche migliaio li librerie numerate da 1.php a 1000.php .
    Devo caricare solo quelle che mi servono altrimenti esplode il computer.

    Dunque, senza fare controlli io usando questa espressione:
    $ITEMS[501]->Descrizione(); # Mi parte la descrizione dell'oggetto

    Se l'oggetto non era stato caricato viene fatto il require della libreria, viene creato l'oggetto, il tutto facendo i relativi controlli di validità. Ad esempio prima di fare il require si controlla che il file esista e che il parametro passato sia solo un numieri intero.

    Pensavo ieri sera di usare l'overloading dell'operatore [], ma a quanto pare in PHP non esiste nulla del genere come in C++
    C'è solo __unset __set e vari operatori, che potrei usare, questo sì, pero' preferirei una soluzione più potente come l'overloading dei []

    Grazie ancora tanto.
    Sto provando a cercare molto su PHP.net ma sembra che debba aspettare PHP9

    Ciauz^^
    ...

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.