Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [PHP4] - Estendere classe già istanziata

    La domanda forse è stupida.. ma mettiamo caso che ci sia il file 1.php..
    Codice PHP:
    <?php
    class uno {
       var 
    $name='A';
       
       function 
    uno() {
           
    //qualcosa
       
    }

       function 
    test() {
           echo 
    $this->name;
       }
    }
    ?>
    ..il file 2.php..
    Codice PHP:
    <?php
    class due extends uno {
       var 
    $nameB='B';
       
       function 
    testB() {
           echo 
    $this->nameB;
       }
    }
    ?>
    ..ed il file test.php..
    Codice PHP:
    <?php
    $prova 
    = new uno() ;
    $prova->test;  //Tutto ok..
    require_once(2.php);
    $prova->testB;
    ?>
    ..php ritorna l'errore...
    codice:
    Fatal error: Call to undefined function: testB() [...]
    Esiste un sistema per estendere una classe già inizializzata?

  2. #2
    Non ho detto il perchè..
    In pratica la classe uno deve poter essere usata prima del require della classe due.. ma questa se richiamata (può non servire oppure devo poter richiamare 3.php o 4.php) deve estendere uno.
    Per questo non posso semplimente usare..
    Codice PHP:
    $prova = new due();
    $prova->test;
    $prova->testB

  3. #3
    Originariamente inviato da Marco1980
    Non ho detto il perchè..
    In pratica la classe uno deve poter essere usata prima del require della classe due.. ma questa se richiamata (può non servire oppure devo poter richiamare 3.php o 4.php) deve estendere uno.
    Per questo non posso semplimente usare..
    Codice PHP:
    $prova = new due();
    $prova->test;
    $prova->testB
    Non ne sono sicuro, pero' forse potresti usare la funzione overload() e il metodo speciale __call();
    MiServe di Santino Bivacqua
    PHP/Ruby/Node.js Developer
    www.miserve.com

  4. #4
    ..mmm.. da quel poco ho visto e capito non è la Soluzione..

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.