Visualizzazione dei risultati da 1 a 8 su 8

Discussione: class e function

  1. #1
    Utente di HTML.it L'avatar di wick87
    Registrato dal
    Feb 2007
    Messaggi
    74

    class e function

    salve a tutti,

    sono due giorni che sto impazzendo, dove sbaglio?

    codice:
    // questo è il file core.php
    class classe
    {
    	var $variabile;
    	
    	function funzione1($in)
    	{
    		$this->variabile = $in;
    	}
    	
    	function funzione2()
    	{
    		return $this->variabile;
    	}
    
    }
    
    // questo verrà inviato dal file invia.php
    $oggetto = new classe;
    $oggetto->funzione1(3);
    
    // questo verrà stampato dal file stampa.php
    $oggetto2 = new classe;
    print $oggetto2->funzione2();
    ho anche provato con le classi extends:

    codice:
    // questo è il file core.php
    class classe_1
    {
    	var $variabile_b;
    	
    	function funzione_1($in_b)
    	{
    		$this->variabile_b = $in_b;
    	}
    	
    	
    }
    
    class classe_2 extends classe_1
    {
    	function funzione_2()
    	{
    		return $this->variabile_b;
    	}
    }
    
    // questo verrà inviato dal file invia.php
    $oggetto_b = new classe_1;
    $oggetto_b->funzione_1(3);
    
    // questo verrà stampato dal file stampa.php
    $oggetto_b2 = new classe_2;
    print $oggetto_b2->funzione_2();

    help me, please !

  2. #2
    ...e quale sarebbe il problema?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2011
    Messaggi
    27
    la sintassi può anche andar bene, il problema di fondo è che hai postato un codice che non fa nulla (non ha logica) ... se ci spieghi cosa vuoi fare ...

  4. #4
    Utente di HTML.it L'avatar di wick87
    Registrato dal
    Feb 2007
    Messaggi
    74
    Originariamente inviato da MVC
    la sintassi può anche andar bene, il problema di fondo è che hai postato un codice che non fa nulla (non ha logica) ... se ci spieghi cosa vuoi fare ...
    si infatti hai ragione...

    il problema è che io vorrei far processare una funzione che si trova nel core.php da due file diversi contemporaneamente: a.php e b.php e resituire il risultato sempre in a.php

    quindi core.php
    codice:
    function esempio($par)
    {
     $risultato = $par*2;
     return $risultato;
    }
    a.php
    codice:
    echo esempio(5);
    b.php
    codice:
    esempio(3);

    potrebbe succedere che in a.php il parametro sia 0 invece che 5 (perchè magari è random), ma vorrei che mi ritornasse in a.php il risultato 6 cioè 3*2

    sembra assurdo, ma è un esempio molto semplice.

  5. #5
    core.php

    Codice PHP:

    class Classe{
     private 
    $risultato;

    public function 
    esempio($par){
    $this->risultato $par 2;
    return 
    $this->risultato;

    }

    public function 
    getRisultato(){ return $this->risultato; }

    }

    $Classe = new Classe
    b.php

    Codice PHP:
    $Classe->esempio(3); 
    a.php

    Codice PHP:

    include "core.php";

    echo 
    $Classe->esempio(5);

    include 
    "b.php";

    echo 
    $Classe->getRisultato(); 
    questa è l'unica cosa che ho capito dal tuo "esempio"...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    Originariamente inviato da wick87
    si infatti hai ragione...

    il problema è che io vorrei far processare una funzione che si trova nel core.php da due file diversi contemporaneamente: a.php e b.php e resituire il risultato sempre in a.php

    quindi core.php
    codice:
    function esempio($par)
    {
     $risultato = $par*2;
     return $risultato;
    }
    a.php
    codice:
    echo esempio(5);
    b.php
    codice:
    esempio(3);

    potrebbe succedere che in a.php il parametro sia 0 invece che 5 (perchè magari è random), ma vorrei che mi ritornasse in a.php il risultato 6 cioè 3*2

    sembra assurdo, ma è un esempio molto semplice.
    Non vedo alcuna attinenza tra questo esempio ed il post iniziale!
    Poi, fammi capire, hai una funzione che moltiplica il parametro in input per 2, nell'esempio passi a tale funzione il valore 5 ma dici che tale valore potrebbe essere 0 ma vorresti che la funzione ti ritornasse 6 = 3 * 2

    Forse è colpa mia ma non ci ho capito assolutamente nulla, potresti rispiegare in maniera chiara ciò che devi fare? Magari anche senza postare codice che forse è meglio.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it L'avatar di wick87
    Registrato dal
    Feb 2007
    Messaggi
    74
    Originariamente inviato da Santino83_02
    core.php

    Codice PHP:

    class Classe{
     private 
    $risultato;

    public function 
    esempio($par){
    $this->risultato $par 2;
    return 
    $this->risultato;

    }

    public function 
    getRisultato(){ return $this->risultato; }

    }

    $Classe = new Classe
    b.php

    Codice PHP:
    $Classe->esempio(3); 
    a.php

    Codice PHP:

    include "core.php";

    echo 
    $Classe->esempio(5);

    include 
    "b.php";

    echo 
    $Classe->getRisultato(); 
    questa è l'unica cosa che ho capito dal tuo "esempio"...

    ok grazie Santino83_02, ho provato il tuo script ed è quello che volevo fare. Adesso però ho il problema che in b.php il $Classe->esempio(3); va inserito dentro un'altra funzione che si trova dentro un'altra classe... e quindi mi stampa in errore che non trova l'oggetto dichiarato quindi se subito prima dichiaro l'oggetto $Classe = new Classe; manda il parametro ma è una nuova istanza !

  8. #8
    wick... parliamoci a quattro mani: ma che vuoi realizzare?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.