Il problema, come detto, e' che non puoi usare delle variabili nell'inizalizzazione di una proprieta' di classe. Non puoi con le virgolette singole, con quelle doppie, ne' con qualsiasi altro carattere. Il compilatore PHP richiede che i valori di inizializzazione siano definiti in fase di compilazione e non di esecuzione, quindi non si puo' fare.
Quello che puoi fare e' dichiarare la proprieta' vuota e darle valore all'interno di un metodo che dovrai chiamare, tipo:
e cosi' via per altri tipi di configurazione.Codice PHP:<?php
class Elenco {
private static $root;
/* .... */
public static function configura_root($nomecartella) {
self::$root = $nomecartella;
}
public static function stampa_root() {
echo self::$root;
}
}
Elenco::configura_root('foto-mare');
Elenco::stampa_root();
Detto questo, se una classe e' piena di "static" al 99% c'e' un problema di progettazione, perche' una classe con proprieta' statiche e metodi statici altro non e' che un modo diverso di scrivere funzioni e variabili globali, vanificando completamente tutti i concetti OOP, motivo per cui sopra ti avevo fatto un esempio leggermente diverso.


Rispondi quotando