Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281

    [php] richiamare metodo classe da include

    Ciao a tutti

    sto sbattendo la testa su un problema assurdo.

    dunque, nel file 1.php dichiaro una classe e poi includo un file 2.php.

    In 2.php richiamo un metodo della classe stanziata in 1.php ma ho il cavolo di errore Fatal error: Call to a member function on a non-object.

    Per prova ho spostato il codice che sta in 2.php e lo incollato in 1.php e tutto funziona. Allora chiedo: se si richiamano metodi da include di classe instanziate nella pagina padre, non funzionano?

    Codice PHP:
    //1.php

    require_once('mia_classe.php');

    $m = new mia_classe();

    include(
    '2.php');

    /**********************************/

    //2.php

    $res $m->metodo_mia_classe();

    //Fatal error:  Call to a member function on a non-object. 

  2. #2

    ...........

    Ciao.
    Ho fatto una prova in locale
    e tutto funziona !

    //mia_classe.php
    class A
    {
    public function __construct(){}
    public function getMsg()
    {
    echo "PIPPO";
    }
    }
    //include_mia_classe.php
    $m->getMsg();
    //index.php
    require_once('mia_classe.php');
    $m = new A();
    include('include_mia_classe.php');

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

  3. #3
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    ciao wisher

    intanto grazie per aver risposto. il tuo esempio funziona alla perfezione (uso però php 4.4,4)

    nella mia applicazione però c'è qualcosa che non va. tra l'altro nel file incluso, ho verificato l'esistenza della classe con class_exists e ho un riscontro positivo. però ho sempre lo stesso errore

    giuro che ho controllato tutto. che ci sia qualcos'altro che mi sfugge?

  4. #4
    Whisher è avanti.. usa php 5... ihihihihih

    io magari sparo una cavolata ma:

    Codice PHP:
    //2.php

    $res $m::metodo_mia_classe(); 
    [ot]Uh whisher ho trovato un modo x risolvere il problema che ti dicevo.. a breve ti farò vedere.. [/ot]

    Hola belli
    Questa volta, più che un voto.. è favoreggiamento.

  5. #5
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    Originariamente inviato da Al_katraz984
    Whisher è avanti.. usa php 5... ihihihihih

    io magari sparo una cavolata ma:

    Codice PHP:
    //2.php

    $res $m::metodo_mia_classe(); 
    [ot]Uh whisher ho trovato un modo x risolvere il problema che ti dicevo.. a breve ti farò vedere.. [/ot]

    Hola belli
    ho capito, ma usare lo scope non ha senso visto che includo un file che richiama un metodo di un a classe che esiste ed è istanziata.

    accetto altri consigli

  6. #6
    si infatti lo supponevo..

    ma questo metodo che vuoi richiamare cosa farebbe??
    Questa volta, più che un voto.. è favoreggiamento.

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.