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
![]()
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
![]()
non puoi inizializzare $HEADER con il valore restituito da $_SERVER['DOCUMENT_ROOT']
Potresti invece mettere nel costruttore qualcosa tipo:
$this->HEADER = $_SERVER['DOCUMENT_ROOT'];
![]()
inoltre evita di usare "var" con PHP 5, usa piuttosto public, private o protected
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?
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.
![]()