Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    errore dichiarazione variabile in una classe

    ho una classe tipo cosi:

    Class miaClasse {

    var $HEADER = $_SERVER['DOCUMENT_ROOT']."/files/header.html";

    __constructor() {

    }
    }

    l'istruzione var ecc... da errore
    stessa cosa se uno const...
    dove sbaglio?

    grazie

    Manuel

    View my profile on LinkedIn
    Ubertini: amo solo te!

  2. #2
    non puoi inizializzare $HEADER con il valore restituito da $_SERVER['DOCUMENT_ROOT']

    Potresti invece mettere nel costruttore qualcosa tipo:
    $this->HEADER = $_SERVER['DOCUMENT_ROOT'];


  3. #3
    inoltre evita di usare "var" con PHP 5, usa piuttosto public, private o protected

  4. #4
    ok per public, private ecc
    mi sto convertendo a fatica da php4 a php5

    quanto alla tua risposta in effetti avevo risolto nella manienre che mi hai descritto, solo avrei preferito mettere i parametri di configurazione dell'applicazione tra le variabili di classe anziche sparsi dentro i metodi.... proprio non c'è modo?
    Manuel

    View my profile on LinkedIn
    Ubertini: amo solo te!

  5. #5
    il discorso è concettuale:

    una classe non è un oggetto, quindi nella sua dichiarazione non deve avere dei particolarismi, delle impostazioni, dei valori che verranno assunti da un oggetto istanziato da essa.
    Quindi non si può inizializzare una variabile membro con un valore a sua volta variabile poiché questo non avrebbe senso. La variabilità di una classe si estrinseca negli oggetti da essa istanziati. La classe di per se è una entità "costante".

    Se io ho un elettrodomestico di classe A significa che ha dei cosumi compresi in un intervallo di valori ben specificato. Il singolo elettrodomestico avrà un consuo variabile, ma la classe A ha un range di consumi fisso.

    Ed ecco che l'assegnazione di valori nel costruttore a senso: il costruttore infatti particolarizza le caratteristiche di un oggetto, non della classe.


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.