Thread: php en OO
-
27-07-2010, 01:45 #1Member
- Registered
- 27/07/10
- Location
- Limburg
- Posts
- 60
- iTrader
- 0
- Mentioned
- 0 Post(s)
php en OO
Ik heb een vraagje ivm het correct gebruik van OO in PHP.
Omdat ik voornamelijk in Java programmeer is het logisch dat ik volgens het volgend principe werk:
Bijvoorbeeld:
Huis h = new Huis();
h = DataHuis.getHuis(125);
Nu ben ik al een tijdje in php bezig en het valt me op dat het daar minder strikt zit, dus als ik gewoon zeg
$h = DataHuis.getHuis(125);
echo $h->kleur //geeft bijvoorbeeld rood
Nu kwam ik overlaatst een script tegen waar men ook eerst deed
$huis = new Huis();
en dan
$h = DataHuis.getHuis(125);
echo $h->kleur //geeft bijvoorbeeld rood
Nu lijkt mij die declaratie in PHP overbodig omdat het zonder ook werkt, ben ik juist hierin? Ik zou namelijk zeker willen weten dat ik op een propere manier werk? (gezien je in php geen vars hoeft te declareren lijkt het mij van wel?)no votes
-
-
27-07-2010, 08:21 #2Member
- Registered
- 25/08/05
- Posts
- 68
- iTrader
- 0
- Mentioned
- 0 Post(s)
Wat je hier ziet heeft niets met OO te maken, maar eerder met het feit dat PHP niet "typed" is (of Duck-typed). Een variabele kan "eender wat" zijn, en op het moment dat er iets aan toegekend wordt, wordt het type ook gezet.
In je laatste voorbeeld hierboven is die "$h = new Huis();" zelfs slecht, want het gaat een object maken, en dit meteen terug weggooien en vervangen door de waarde van je DataHuis->getHuis() factory. Nutteloos: memory en cpu-cycles (en programmeur-keystrokes) verspild.
(Trouwens, in je java-voorbeeld is de "new Huis()" ook nutteloos, het enige wat telt is "Huis h", die zegt dat de variabele h vanaf nu enkel huizen kan bevatten.)Last edited by wonko; 27-07-2010 at 08:23. Reason: $ vergeten
Nietskeno votes
-
27-07-2010, 10:32 #3Member
- Registered
- 27/07/10
- Location
- Limburg
- Posts
- 60
- iTrader
- 0
- Mentioned
- 0 Post(s)
no votes

