Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    209

    variabili di classe in PHP

    Volevo sapere come si fa in PHP l'assegnamento di variabili di classe in questo stile:
    Codice PHP:

    class Ciccio{
    var 
    $x=0;
    function 
    set_x($x){
    self::$x=$x;   //non funziona!
    }

    function 
    get_x(){
    return 
    self::$x;
    }

    }

    Ciccio::set_x(5);

    class 
    Franco extends Ciccio{
    }

    $franco = new Franco();

    echo 
    $franco->get_x(); //qui vorrei 5 
    Ho provato con $this al posto di self, ma i risultati sono stati disastrosi comunque...

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    $this->x

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    209
    con self::$x:

    Fatal error: Access to undeclared static property: Ciccio::$x in C:\wamp\www\prova.php on line 5

    con $this->x:
    Fatal error: Using $this when not in object context in C:\wamp\www\prova.php on line 5

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    209
    up

  5. #5

    .........

    Ciao.
    Se usi una notazione del genere:
    Ciccio::set_x(5);
    devi usare la keyword static


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    209
    grazie whisher ora funziona.
    Ma come posso ottenere lo stesso risultato in PHP 4?

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    209
    up

  8. #8
    Il codice non ti funzione perché effettivamente tu usando quell'operatore accedi alla classe senza dichiararla, quindi la variabile x non c'è ancora.
    Con PHP4 c'è poco da fare, devi dichiarare la classe prima di poter usare le sue variabili.

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    209
    Esiste un altro metodo per impostare delle variabili di classe in PHP 4 in modo che quando quella classe viene estesa, le classi derivate abbiano tale variabile, in modo che non sia hard coded?

    Poi vorrei andare anche OT chiedendo se è possibile la generazione di funzioni di classe dal costruttore, anche in PHP 5

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.