Citat:
Ursprungligen postat av Jonas
Citat:
Ursprungligen postat av grinditwp
Vad jag läst så är det korrekt att skapa en funktion med samma namn (constructor) som classen .
Är det fel att sätta standard värden utanför som i exempel 1?
Vad ska man ha constructor funktionen till?
Tack *
|
I PHP4 så är det korrekt att skapa en funktion med samma namn som classen som constructor.
I PHP5 så är det felaktigt, där skall man använda __construct() (och det finns även en __destruct() som körs när scriptet är klart)
|
Felaktigt och felaktigt.. det är fullt möjligt att använda en konstruktor som har samma namn som klassen i PHP5, dock är det ju att föredra och nyttja __construct() för att undvika programfel vid byte av klassnamn el. dyl. Skulle ingen __construct() finnas så kommer tolken att leta efter konstruktorn med samma namn som klassen.
Att sedan instansiera variabler i konstruktorn istället för direkt som privata fält har nog ingen större skillnad prestandamässigt sett. Dock kan det ju vara en fördel att ha instansieringen (ursprungsvärdena) i konstruktorn om man behöver "nollställa" instansen, eller om man använder sig av statiska fält som skall ändra värde när fler instanser skapas upp.