Quote Originariamente inviata da pollat Visualizza il messaggio
Kurt, sono giorni che ci provo, leggendo e rileggendo la guida, ho provato a modificare quel codice in mille modi ma NON CI SONO RIUSCITO... non mi funziona... e ormai io ho perso qualsiasi speranza di farlo funzionare... praticamente ormai lo risogno la notte !!! Questo è il motivo per cui ho scritto il post e speravo che qualcuno risolvendo il problema mi facesse capire dove sbagliavo.
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:

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();
e cosi' via per altri tipi di configurazione.

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.