Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1

    Differenza tra parametro e proprietà del metodo

    Ciao a tutti, lo so che sono duro come il marmo, ma non ci posso fare niente, sono nato a Carrara
    Mi piacerebbe capire che differenza c' è tra il settare il valore di una proprietà di una classe e poi utilizzarla in un metodo e il passare direttamente un parametro al metodo...esempio ora faccio la stessa cosa in 2 modi diversi:

    Codice PHP:
    class pippo{
      
            var 
    $proprieta;

            function 
    pippo()
            {
                return 
    $this->proprieta;
            }         
      
         }
    $obj = new pippo;
    $obj->proprieta "pluto";
    $obj->pippo(); //ritorna pluto 
    E cosi:
    Codice PHP:
    class pippo{
      
            function 
    pippo($parametro)
            {
                return 
    $parametro;
            }         
      
         }

    $obj = new pippo;
    $obj->pippo("pluto"); //anche qui ritorna pluto 
    Non riesco proprio a capire se sono 2 modi diversi di fare la stessa o se a seconda dei casi si usa uno o l' altro...

    [EDIT] Lo so che la proprietà fa parte della classe e non del metodo ma ormai avevo lanciato il post e non ho potuto cambiare il titolo

  2. #2
    Prima di tutto a giudicare da quel "var $proprieta" stai studiando la sintassi OO di PHP4, quindi butta immediatamente il libro/sito/pdf/cartaigienica_stampata su cui stai studiando e prendi qualcosa che parli di PHP5.

    Venendo alla domanda, la differenza e' che una proprieta' di classe e' disponibile a tutti i metodi, un parametro passato a un metodo e' disponibile solo al metodo stesso (almeno finche' quel metodo non assegne il valore di quel parametro a una proprieta' di classe, come fa tipicamente un setter)

    Codice PHP:
    private $name;

    // setter
    public function setName($name) {
        
    $this->$name $name;
    }

    // getter
    public function getName() {
        return 
    $this->name;


  3. #3
    Chiarissimo, adesso credo di aver capito. Quindi ora ti farò un esempio, se io devo crearmi un metodo che mi fa l' update di un campo nel db è giusta una cosa di questo genere?

    Codice PHP:
    class myClass{
     
            public 
    $qualeTabella;
            public 
    $qualeColonna;      
            public 
    $qualeRiga;
            public 
    $qualeValore;
            public 
    $doveUp;
            public 
    $valoreUp
            function 
    eliminaCampo()
            {
                 
    //qui eseguo l' update... tipo:
                 //UPDATE $this->qualeTabella SET $this->qualeColonna = $this->qualeValore WHERE $this->doveUp = $this->valoreUp 

            
    }
       } 
    Può andare o sono ancora troppo lontano dalla verità?

  4. #4
    Onesatamente no, messa cosi' non ha molto senso, ma dipende dalle risposte a queste domande:

    - a cosa serve quella classe?
    - dove vengono valorizzate quelle proprieta'?
    - quei valori servono a piu' di un solo metodo della classe?
    - quelle proprieta' serve che siano accessibili da fuori della classe?

  5. #5
    Infatti è li il problema, quando devo fare un metodo non riesco a capire se devo fare una classe per quel metodo o se metterlo in una classe gia esistente...forse dovrei proprio cominciare da 0 e fare una classe e buttare tutto li? Poi strada facendo vedere di crearne di nuove in base alle esigenze?

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776
    Quote Originariamente inviata da camionistaxcaso Visualizza il messaggio
    Infatti è li il problema, quando devo fare un metodo non riesco a capire se devo fare una classe per quel metodo o se metterlo in una classe gia esistente...forse dovrei proprio cominciare da 0 e fare una classe e buttare tutto li? Poi strada facendo vedere di crearne di nuove in base alle esigenze?
    Io invece ti consiglierei di chiarirti prima bene i concetti fondamentali.

    Se sai l'inglese potresti provare con questo libro:
    PHP Advanced and Object-Oriented Programming: Visual Quickpro Guide di Larry Ullman

  7. #7
    Una classe deve rappresentare qualcosa, un qualche tipo di entita': un utente, un articolo, un mailer, un controller, insomma qualcosa che abbia un senso come "oggetto" (anche in molto astratto), che possa avere delle caratteristiche (le proprieta') e possa compiere delle azioni (i metodi).

    Prima di scrivere codice devi individuare i ruoli all'interno della tua applicazione e creare di conseguenza le classi che servono, quello che stai facendo ora e' scrivere codice procedurale con qualche "class {...}" intorno.

  8. #8
    Quote Originariamente inviata da k.b Visualizza il messaggio
    Una classe deve rappresentare qualcosa, un qualche tipo di entita': un utente, un articolo, un mailer, un controller, insomma qualcosa che abbia un senso come "oggetto" (anche in molto astratto), che possa avere delle caratteristiche (le proprieta') e possa compiere delle azioni (i metodi).

    Prima di scrivere codice devi individuare i ruoli all'interno della tua applicazione e creare di conseguenza le classi che servono, quello che stai facendo ora e' scrivere codice procedurale con qualche "class {...}" intorno.
    Ad esempio una cosa che ho fatto è stata quella di fare una gestione delle spese con il form di raccolta dati e inserimento nel DB e penso "ma ogni volta devo creare un nuovo form...forse dovrei farmi un metodo...", esecuzione della insert...e lo stesso "ogni volta devo fare la insert"...
    Ad esempio potrei fare un oggetto per ogni argomento? Dipendenti, gestione spese, gestione preventivi...ecc ecc? oppure è..meglio che torno a fare il camionista?

    Quote Originariamente inviata da robynosse Visualizza il messaggio
    Io invece ti consiglierei di chiarirti prima bene i concetti fondamentali.

    Se sai l'inglese potresti provare con questo libro:
    PHP Advanced and Object-Oriented Programming: Visual Quickpro Guide di Larry Ullman
    Il mio problema è proprio l' inglese, lo conosco a livello scolastico quindi sono uno zero completo.

  9. #9
    Scusa ma hai mai studiato PHP su qualche libro? Ce ne sono anche in italiano.

  10. #10
    Quote Originariamente inviata da k.b Visualizza il messaggio
    Scusa ma hai mai studiato PHP su qualche libro? Ce ne sono anche in italiano.
    No tutto seguendo le guide in rete

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.