Classe php e proprieta predefinite

Tecnomiky

Nuovo Utente
4 Ago 2012
10
0
0
Sto creando una classe php e questo è il codice
PHP:
class create_form { 
 	
public $azione = '';
public $nome = '';
	
public function __construct($azione, $nome) { 	
   $this->azione = $azione; 	
   $this->nome = $nome;  	
   print '<form action="'.$this->azione.'" name="'.$this->nome.'">'; 	
   } 	 	 
   }
il problema è quando la inizializzo senza paramatri mi da i seguenti errori

Codice:
Warning: Missing argument 1 for create_form::__construct(), called in /var/www/test_form.php on line 10 and defined in /var/www/class_form.php on line 7  

Warning: Missing argument 2 for create_form::__construct(), called in /var/www/test_form.php on line 10 and defined in /var/www/class_form.php on line 7  

Notice: Undefined variable: azione in /var/www/class_form.php on line 8  

Notice: Undefined variable: nome in /var/www/class_form.php on line 9
come posso evitare di far uscire gli errori
 

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
Sto creando una classe php e questo è il codice
PHP:
class create_form { 
 	
public $azione = '';
public $nome = '';
	
public function __construct($azione, $nome) { 	
   $this->azione = $azione; 	
   $this->nome = $nome;  	
   print '<form action="'.$this->azione.'" name="'.$this->nome.'">'; 	
   } 	 	 
   }
il problema è quando la inizializzo senza paramatri mi da i seguenti errori

Codice:
Warning: Missing argument 1 for create_form::__construct(), called in /var/www/test_form.php on line 10 and defined in /var/www/class_form.php on line 7  

Warning: Missing argument 2 for create_form::__construct(), called in /var/www/test_form.php on line 10 and defined in /var/www/class_form.php on line 7  

Notice: Undefined variable: azione in /var/www/class_form.php on line 8  

Notice: Undefined variable: nome in /var/www/class_form.php on line 9
come posso evitare di far uscire gli errori
Per caso inserisci un error_reporting(E_ALL)? Perché basterebbe rimuovere quello.
 

Tecnomiky

Nuovo Utente
4 Ago 2012
10
0
0
non voglio disattivare gli errori, voglio capire qual'è il problema e farlo funzionare anche con gli errori attivati
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
come detto non me ne intendo molto di classi (se posso le evito)
comunque (può essere una put....ta) ma prova a mettere
$this->azione = $azione;
in questo modo
$azione=$this->azione

non voglio disattivare gli errori, voglio capire qual'è il problema e farlo funzionare anche con gli errori attivati
più che giusto
 

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
ciao
come detto non me ne intendo molto di classi (se posso le evito)
comunque (può essere una put....ta) ma prova a mettere
$this->azione = $azione;
in questo modo
$azione=$this->azione

più che giusto
Credo che per fare quello che dici tu si possa solo così:
PHP:
public function __construct($azione='', $nome='')
Prova e vedi se funziona :byebye:
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Una classe del genere la trovo totalmente inutile, falle in procedurale simili sciocchezze non creare addirittura una classe
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
ciao nefyt
non hai pensato che puo essere uno che sta cercando di imparare come si fanno le classi?
Se vuole imparare che impari bene ;), perché una classe del genere con solo il construct e 2 proprietà superflue che potevano essere stampate direttamente da quelle richiamate invece di valorizzarle prima, è inutile.

Se sta imparando direi di rivedere il codice allora, provare ad aggiungere altri metodi e creare una classe completa poi ognuno fa quello che vuole questa è la mia opinione :D