 
View Full Version : [php] semplice classe...
per quanto riguarda la programmazione ad oggetti vengo da c++ e non mi trovo molto a mio agio qui in php...
potete tirarmi un occhiata a queste 4 righe di codice e dirmi come mai non funzionano??
questa è la classe...
class testo{
        // variabili membro
        public $en;
        public $it;
        
        // funzioni
	public function print(){
		$lingua = $_SESSION['lingua_corrente'];
		if($lingua == 'en')
			echo $en;
		else if($lingua == 'it')
			echo $it;
		else echo "There is no traslation available for the selected language.";
	}
}
e così vorrei usarla
			 	$lingua_usata = new testo(); 
				$lingua_usata->en = "English";  
				$lingua_usata->it = "Italiano";
				$lingua_usata->print();
			
praticamente mi serve per semplificare la traduzione in due lingue del mio sito.
grazie mille ;)
per quanto riguarda la programmazione ad oggetti vengo da c++ e non mi trovo molto a mio agio qui in php...
potete tirarmi un occhiata a queste 4 righe di codice e dirmi come mai non funzionano??
questa è la classe...
class testo{
        // variabili membro
        public $en;
        public $it;
        
        // funzioni
	public function print(){
		$lingua = $_SESSION['lingua_corrente'];
		if($lingua == 'en')
			echo $en;
		else if($lingua == 'it')
			echo $it;
		else echo "There is no traslation available for the selected language.";
	}
}
e così vorrei usarla
			 	$lingua_usata = new testo(); 
				$lingua_usata->en = "English";  
				$lingua_usata->it = "Italiano";
				$lingua_usata->print();
			
praticamente mi serve per semplificare la traduzione in due lingue del mio sito.
grazie mille ;)
Non conosco PHP ma dopo che dichiari le variabili membro, nella classe ti ci devi riferire con $this->nomeAttributo. Quindi nel tuo caso:
class testo{
        // variabili membro
        public $en;
        public $it;
        
        // funzioni
	public function print(){
		$lingua = $_SESSION['lingua_corrente'];
		if($lingua == 'en')
			echo $this->en;
		else if($lingua == 'it')
			echo $this->it;
		else echo "There is no traslation available for the selected language.";
	}
}
avevo gia provato e ho riprovato adesso...
se includo questo:
//classe testo
class testo{
        // variabili membro
        public $en = "There is not an english traslation of this text.";
        public $it = "La versione italiana di questo testo non è disponibile.";
        
        // funzioni
	public function print(){
		$lingua = $_SESSION['lingua_corrente'];
		if($lingua == 'en')
			echo $this->en;
		else if($lingua == 'it')
			echo $this->it;
		else echo "There is no traslation available for the selected language.";
	}
}
dice
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /membri/mamo139/include/lingua.php on line 24
dove la line 24 è questa:
        public $en = "There is not an english traslation of this text.";
Prova ad inizializzarle nel costruttore.
il problema è che il server era in modalità php4, mentre questo codice è compatibile solo con php5
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.