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.