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
 
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.
 
non voglio disattivare gli errori, voglio capire qual'è il problema e farlo funzionare anche con gli errori attivati
 
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
 
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:
 
Una classe del genere la trovo totalmente inutile, falle in procedurale simili sciocchezze non creare addirittura una classe
 
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
 

Discussioni simili