Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Operatori PHP

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    50

    Operatori PHP

    Sto analizzando del codice PHP (ovviamente scritto da altri) ed ho trovato una linea di codice del tipo:
    $this -> _data;
    e mi sono chiesta quale è il senso dell'operatore ->....
    cercando in rete ho trovato solo operatori logici, matematici, di assegnazione di confronto etc... ma non ho trovato nulla che facesse riferimento a questo qui ->.
    Credo che la domanda sia sufficientemente banale... qualcuno può illuminarmi a riguardo?
    Grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    $this è un oggetto e $this->_data prende l'attributo data dell'oggetto.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    50
    Scusa la domanda...
    ma in genere con $ non si dichiarano le variabili?

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    50
    Ho appena trovato che:
    se una variabile viene definita all'interno di una classe, con l'uso dell'operatore ->, sarà visibile...
    ma a chi? alle altre classi? ed è visibile all'interno delle function della classe stessa in cui viene dichiarata?
    ..... scusatemi tanto ma credo che sto cominciando a fare un bel po' di confusione?!?!

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Infatti in una variabile puoi metterci un oggetto.
    Supponendo che tu abbia la classe Persona, con l'istruzione
    $utente = new Persona();
    nella variabile $utente avrai un oggetto di classe Persona

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Per la visibilità dipende da come è stata dichiarata all'interno della classe, quella che hai tu, ovvero data, è visibile solo all'oggetto di invocazione perché è privata, c'è un _ all'inizio.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    50
    OK, grazie mille sei stato molto chiaro...
    quindi, a tuo avviso, ciò che ho trovato su -> è una bagianata?

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    No, se vuoi sapere il valore di un attributo di una classe devi usare l'operatore -> come hai detto tu.

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    50
    Grazie mille per l'aiuto....
    continuo ad analizzare altro codice PHP
    per vedere se ho capito bene il tutto...
    ciao ciao

  10. #10
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Originariamente inviato da Alhazred
    Per la visibilità dipende da come è stata dichiarata all'interno della classe, quella che hai tu, ovvero data, è visibile solo all'oggetto di invocazione perché è privata, c'è un _ all'inizio.
    non è proprio così...

    il carattere _ davanti alle variabili e funzioni all' interno di una classe era una specie di convenzione, per indicare appunto l' accessibilità a chi utlizzava la classe, ma di fatto era accessibile lo stesso dall' esterno.

    Da quando php ha introdotto la dichiarazione private,public e protected all' interno delle classi, questo no è stato + necessario, e gli attributi e le funzioni di carattere private ad esempio non sono quindi + accessibili dall' esterno

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

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.