Ämne: Classer i PHP
Visa ett inlägg
Oläst 2009-06-23, 13:36 #4
Ristorasto Ristorasto är inte uppkopplad
Medlem
 
Reg.datum: Mar 2006
Inlägg: 90
Ristorasto Ristorasto är inte uppkopplad
Medlem
 
Reg.datum: Mar 2006
Inlägg: 90
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.

Ristorasto är inte uppkopplad   Svara med citatSvara med citat