• User Attivo

    php ereditarietà tra classi

    Salve a tutti .... ho un problemino 🙂 fino a qualche giorno fà, usavo una classe (abbastanza generica) c_utente che gestiva i dati inviati dall'utente per la registrazione.
    Nel costruttore della classe

    
    function c_utente($allPost)
     { 
       $this->nome=$_POST['nome'];
       $this->nome=$_POST['pass'];
       $this->co.........................;
     }
    

    ora è nata l'esigenza di creare sottoclassi, delle figlie insomma, ma ... mistero !!!!!
    Se estendo la classe 'c_nuotatore' alla classe 'c_utente' non eredito così semplicemente le variabili !!!!

    class c_nuotatore extends c_utente
    {
      function leggiDati
      {
       //vorrei le variabili della class padre :(
      }
    }
    

    se io da codice richiamo il costruttore:

    $X = new c_nuotatore($_POST); //<-- e gli passo l'array dei POST
    // questi dati POST a chi rimangono ... alla classe genitore o al figlio ?

    grazie mille ... ho le idee 1 pò confuse :mmm:


  • Moderatore

    figlio che può utilizzare le funzioni del padre 😉

    come dice la parola extends....

    una lettura al manuale prima di avventurarci servirebbe 😉


  • User Attivo

    ehm si l'extend l'ho usato ... ma poi ? Ho provato a richiamare una var del padre ... ma non ne vuol sapere ... ho risolto con un circolo vizioso di funzioni SET GET SET/GET !!!!! :():

    es.

    class A_Padre
    $this->variabile1 = 'baubau'
    
    class B_Figlio extends A_Padre
    
    

    se scrivo
    $B=new B_Figlio;
    echo $B->variabile1;
    ///non stampa nullaaaaaa a video !!!!////:o


  • Moderatore

    una lettura a php manual ed avresti capito.... 😛

    [php]
    <?php
    error_reporting(E_ALL);

    class test {
    var $var;

    function test() {
    $this->var = 3;
    }
    }

    class testing extends test {
    function testing() {
    parent::test();
    }

    function My_test() {
    return $this->var;
    }
    }

    $p = new testing();
    echo $p->My_test();

    [/php]


  • User Attivo

    :arrabbiato: grrrrr..... dunque il 'trucco' è definire delle funzioni che passano il valore dal PADRE al figlio ... !!!!!

    Grazie mille massimux :yuppi: bell'esempio chiaro e preciso 😉 solo una domanda (tanto per cambiare) nel mio caso specifico, al costruttore della classe PADRE passo la var ($varsPOST) che raccoglie tutto lo schif... tutti gli input da html ... devo fare tante function Get_xxx() per ogni variabile ? se voglio poi leggerle dalla classe figlio ?

    thanks all :yuppi:

    P.S. massimux spara un bel titolo per chi vuole apprendere a pieno il php, che domani faccio un salto in libreria !!!!


  • Moderatore

    Rails for PHP Developers, First Edition