Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732

    Dubbi sul "return" di un metodo

    Ciao a tutti,

    volevo fare una semplice e veloce domanda da niubbo:

    Nella programmazione OOP (in questo caso PHP), quando ad esempio ho una classe "Utente" che possiede un metodo "getOrdini()" il quale recupera tutti gli ordini di un determinato utente è meglio "ritornare" direttamente l'array generato oppure mettere lo stesso in una variabile di istanza, es: $this->lista_ordini?

    Oppure ancora fare entrambe le cose?

    Nel primo caso:

    Codice PHP:
    $ordini $utente->getOrdini(); 
    nel secondo:

    Codice PHP:
    $utente->getOrdini();
    $ordini $utente->lista_ordini
    Grazie in anticipo.

  2. #2
    IMHO se il metodo si chiama getOrdini() dovrebbe restituire un valore.

    Poi dipende da come implementi la gerarchia di classi. C'è da dire che una classe chiamata Utente a rigor di logica non dovrebbe contenere un metodo chiamato getOrdini(). Sarebbe meglio avere una classe chiamata Ordine con tale metodo.

  3. #3
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Umh, dici?

    Purtroppo relativamente al Desgin Pattern sono abbastanza a digiuno quindi ragionavo sulla base di quello che mi poteva essere utile al momento.

    Ho un oggetto utente (di un ipotetico sito e-commerce) e su quell'oggetto poter richiamare, es:

    $utente->ordini
    $utente->dati_personali
    ecc.

    Pensavo di usare la classe "Ordine" solo per recuperare le info relative al singolo ordine, quindi inversamente al primo caso la possibiltà anche di accedere all'utente a partire dal singolo ordine.

    Tnx.

  4. #4
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Per avere un'idea più precisa, sarebbe forse la soluzione migliore quella di avere classi distinte: Utente, Ordine ecc. "mappate" sulle tabelle del DB?

    In questo modo per accedere agli ordini di un determinato utente dovrei istanziare un oggetto "Ordine" tramite un metodo di "Utente".

    Es:

    Codice PHP:
    $ordini $utente->ordini();
    $lista_ordini_utente $ordini->getOrdini(); 
    L'ID dell'utente lo passerei in modo "silenzioso" tramite il metodo "ordini()" di "Utente" che richiama il costruttore della classe "Ordini".

    Codice PHP:
    public function ordini() {            
      
    $ordini = new Ordine($utente_id);
      return 
    $ordini;        

    Ho detto una marea di cavolate oppure ci sta come Design?

    Grazie ancora.

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.