Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 32
  1. #1
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439

    [php4>OOP] oggetto con id unico

    Salve a tutti,

    in oop non sono molto esperto: riesco a creare le classi, l'ereditarietà, i metodi, e altre cose fondamentali... però non mi è chiaro ancora in php4, ad esempio come verificare se un oggetto sia stato creato o no.

    ad esempio se ho una classe così strutturata:
    Codice PHP:
    class GG {
        var 
    $id$nome$ruolo$available;

        
    // constructor
        
    function GG$id$nome$ruolo$available ) {
            
    $this->id = (int)$id;
            
    $this->nome $nome;
            
    $this->ruolo $ruolo;
            
    $this->available = (bool)$available;
        }

    diciamo che poi con un ciclo mi creo gli oggetti...

    Codice PHP:
    $gg_arr = array();
    while( 
    $val mysql_fetch_row$ris ) ) {
      
    $gg_arr[] = &new GG$val[0], $val[1], $val[2], $val[3] );

    le mie domande sono due...

    1) come faccio a tenere un contatore degli oggetti che creo? Il modo più semplice lo conosco: metto $var++; dentro il ciclo while, ma vorrei qualcosa di più sicuro... qualcosa che emuli un distructor in qualche modo.

    2) come faccio ad esempio a controllare se ho già creato un oggetto GG con un id già esistente? Ovvero, all'interno del ciclo, prima della creazione del nuovo oggetto vorrei poter verificare se esiste un altro oggetto con uguale id.

    se mi rispondete a queste domande, probabilmente mi renderete la vita più semplice
    grazie in anticipo
    わさび

  2. #2

    ...........

    Ciao.
    Codice PHP:
    count($gg_arr); 

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439

    Re: ...........

    Originariamente inviato da whisher
    Ciao.
    Codice PHP:
    count($gg_arr); 

    erm no... non intendevo con count() oppure una var qualsiasi che mi tiene il conto... intendevo (se si può fare nel 4.0) un qualcosa che mi tenesse conto degli oggetti creati, ed eventualmente uno di essi venisse distrutto questa variabile venisse automaticamente aggiornata... :master:
    わさび

  4. #4
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    up
    わさび

  5. #5
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    up
    nessuno sa aiutarmi?
    mi vanno bene anche suggerimenti e/o link x approfondire
    わさび

  6. #6
    potresti fare una variabile statica nell'oggetto GG che viene incrementata ad ogni chiamata del costruttore...

    però a sto punto di consiglio di iniziare ad usare il php 5 che ha una OOP seria...
    www.gext.it

  7. #7
    per verificare che l'oggetto che ha un certo ID sia già presente nell'array non ti resta altro che fare un ciclo sull'array e verificare

  8. #8

    forse

    ciao. da quanto ho capito vuoi creare istanze di classi GG uniche. allora non ti basta fare...:
    Codice PHP:
    $gg_arr = array();
    while( 
    $val mysql_fetch_row$ris ) ) {
      
    $gg_arr[$val[0]] = &new GG$val[0], $val[1], $val[2], $val[3] );

    con
    $gg_arr[$val[0]] = &new GG( $val[0], $val[1], $val[2], $val[3] );
    dovresti essere sicuro che l'istanza non viene duplicata, perchè se ha id identico ad una già inserita quest'ultima viene sovrascritta...o no?
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

  9. #9
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da tarini
    potresti fare una variabile statica nell'oggetto GG che viene incrementata ad ogni chiamata del costruttore...
    giusto, ma cmq avrei problemi quando l'oggetto viene distrutto...

    però a sto punto di consiglio di iniziare ad usare il php 5 che ha una OOP seria...
    infatti... anche questa è una cosa che dovrò decidermi a fare a breve...

    per quanto riguarda la domanda n.2 come risolveresti?
    in php4 bisogna usare stratagemmi?
    わさび

  10. #10

    ..................

    Ciao.
    Per approfondire OOP guarda singleton
    tutorials


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

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.