Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380

    extends constructors o in conflitto?..fatemi capire

    Ciao a tutti,
    ho implementato una classe dbmysqli nella quale ho dichiarato costruttore, distruttore e metodi
    per preparare ed eseguire una query. La classe funziona perfettamente.

    Poi, ho creato una semplice classe per uplodare una table del mio db.
    Questa classe che chiamo "AggiornaTable"estende la classe dbmysql e comprende un costruttore ed un semplice metodo per eseguire l'upload.
    Fin qui nulla di strano.
    Ora, nel costruttore della classe "AggiornaTable" dichiaro le varie properties derivanti dal form (le $_POST[] per intenderci)

    Istanziando la classe "AggiornaTable" per poter eseguire la query ricevo il messaggio d'errore Call to a member function query() on a non-object ...
    cancellando il costruttore e spostando le properties nel metodo (solo per prova) oppure nel costruttore della superclasse dbmysqli tutto va a buon fine...
    Ho capito che il problema è relativo ai costruttori ma non vengono "estesi"??
    Grazie a tutti.
    If you think your users are idiots, only idiots will use it. DropBox

  2. #2

    Re: extends constructors o in conflitto?..fatemi capire

    Originariamente inviato da homerbit
    Ciao a tutti,
    ho implementato una classe dbmysqli nella quale ho dichiarato costruttore, distruttore e metodi
    per preparare ed eseguire una query. La classe funziona perfettamente.

    Poi, ho creato una semplice classe per uplodare una table del mio db.
    Questa classe che chiamo "AggiornaTable"estende la classe dbmysql e comprende un costruttore ed un semplice metodo per eseguire l'upload.
    Fin qui nulla di strano.
    Ora, nel costruttore della classe "AggiornaTable" dichiaro le varie properties derivanti dal form (le $_POST[] per intenderci)

    Istanziando la classe "AggiornaTable" per poter eseguire la query ricevo il messaggio d'errore Call to a member function query() on a non-object ...
    cancellando il costruttore e spostando le properties nel metodo (solo per prova) oppure nel costruttore della superclasse dbmysqli tutto va a buon fine...
    Ho capito che il problema è relativo ai costruttori ma non vengono "estesi"??
    Grazie a tutti.
    se fai l'override del costruttore devi richiamare il costruttore dell'oggetto che estendi:

    Codice PHP:


    class A{

     public function 
    __construct($p1){ }

    }

    class 
    extends A{

    public function 
    __construct($p1,$p2){
    parent::__construct($p1);
    echo 
    $p2;
    }


    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    ho appena risolto, sarà stata la stanchezza
    grazie millie per la pronta risposta esaustiva!
    If you think your users are idiots, only idiots will use it. DropBox

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.