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

    istanza di classe dentro a funzione

    Ciao,
    sono nuova di php quindi portate pazienza se faccio domande strane.
    Non capisco una cosa di "concetto".

    Perchè se da un file "pippo.php":

    - includo un file che contiene una classe chiamata "classe-blu"
    - istanzio la classe
    - lavoro sulla classe

    tutto funziona a meraviglia mentre se

    - apro un file "funzioni.php"
    - ci includo sempre il file che contiene la classe "classe-blu"
    - istanzio la "classe-blu"
    - uso l'istanza dentro ad una funzione che su chiama "funzione_con_istanza_di_classe-blu"
    - richiamo la funzione da "pippo.php"

    non funziona nulla?

    Forse non posso istanziare la classe da dentro la funzione?

  2. #2
    riporta il codice sorgente

  3. #3
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221

    Re: istanza di classe dentro a funzione

    Originariamente inviato da harlock22

    - apro un file "funzioni.php"
    - ci includo sempre il file che contiene la classe "classe-blu"
    - istanzio la "classe-blu"
    - uso l'istanza dentro ad una funzione che su chiama "funzione_con_istanza_di_classe-blu"
    - richiamo la funzione da "pippo.php"

    non funziona nulla?

    Forse non posso istanziare la classe da dentro la funzione?
    Se la sequenza che hai scritto è esattamente quello che fai non stai istanziando la classe dentro la funzione, ma fuori e poi cerchi di usarne l'istanza dentro

    cioè se fai questo:

    Codice PHP:

    $obj
    = new tuaClasse();

    function 
    funzione(){
    $obj->metodo();

    è sbagliato perchè dentro la funzione non hai istanziato niente e $obj che sta dentro è una cosa diversa da $obj che sta fuori.

    Mentre se fai questo:

    Codice PHP:

    function funzione(){

    $obj= new tuaClasse();

    $obj->metodo();


    Allora va bene perchè stai istanziado realmente dentro la funzione

  4. #4
    In effetti hai ragione, Ias, ora ho creato l'istanza dentro alla funzione e tutto funziona. Grazie mille!!

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.