Visualizzazione risultati 1 fino 8 di 8

Discussione: Due classi con var dello stesso nome interferiscono l'una con l'altra

  1. #1
    Guest

    Predefinito Due classi con var dello stesso nome interferiscono l'una con l'altra

    Come da titolo mi è capitato questo problema. Sto programmando ad oggetti e ho due classi che hanno due var settate col nome di $data.
    Se inizializzo una classe tutto va bene, ma se inizializzo l'altra ed utilizzo una funzione che al suo interno ha:
    Codice PHP:
    $this->data
    mi interferisce con l'altra classe assegnando il valore della seconda.
    Non capisco perché succeda questo. La prima classe non è in global con la seconda e nessuna estende l'altra.
    Come posso risolvere oltre che cambiando nome? Vorrei anche sapere la causa di questo

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Direi che quanto affermi è possibile solo se $this->data di entrambi le classi è un reference a una terza variabile. In quel caso tutte e tre punterebbero alla stessa locazione di memoria e avresti l'effetto descritto.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    Guest

    Predefinito

    Una delle classi è stata presa da internet e modificata. Ho notato invece che mettendo in global la prima classe nella funzione della seconda, questa entra in contrasto. La funzione prende dalla memoria un valore e lo passa ad alcune funzioni, ma non capisco perché si "intrecciano"...

  4. #4
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Eh boh. Bisognerebbe vederle nel dettaglio.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  5. #5
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    Che versione di PHP stai usando?
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  6. #6
    Guest

    Predefinito

    5.3.0! Lavoro in locale.

  7. #7
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    Dalla versione 5 le variabili vengono passate per riferimento di default.
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  8. #8
    Guest

    Predefinito

    Quindi come se stessi facendo function nome(&$var)?
    In ogni caso ho cambiato il nome e ho lo stesso problema! Risolvo solo se elimino la variabile che inizializza la classe dalle global della funzione!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •