non è obbligatoria la presenza di un costruttore in una classe.Originariamente inviato da Gab-81
Questo è assai strano...un costruttore deve necessariamente esserci, altrimenti l'oggetto come lo inizializzo?
Infatti, se usate phpmailer (ad esempio), non inizializzate niente.
Difatti:
E' solo buona norma, evitando di aggiungere 30 metodi magari inutili, oppure se la classe ha bisogno di qualcosa che non si può omettereCodice PHP:
$mail = new PHPMailer();
Tipo:
il discorso è lo stesso del distruttore; se in una mia classe ne ho bisogno per fare delle operazione, allora dichiaro il metodo __destruct, altrimenti no.Codice PHP:
$dir = new dir("/etc");
Attenzione: tra funzioni e metodi ne passa...E siamo alla seconda domanda: un costruttore serve ad inizializzare lo stato dell'oggetto; le funzioni a lavorare sulle variabili definite all'interno dell'oggetto stesso...
una funzione non appartiene ad un oggetto, a differenza dei metodi, e come tale non può accedere alle propietà dell'oggetto (non essendoci)