login  Naam:   Wachtwoord: 
Registreer je!
 Forum

OOP in PHP

Offline Crazed - 10/01/2006 19:53
Avatar van CrazedPHP interesse Ik ben niet zo lang geleden begonnen met object-georiënteerd programeren in PHP.
Tijdens het bekijken van de Yapster-broncode begreep ik volgende dingen niet, waarvan ik vermoed dat ze met OOP te maken hebben:

1. wat betekent een & voor een variable
vb:
  1. $block = &$this->blox[$blockname];
??

2. wat betekent de @ in bv:
  1. $content = @file($file)

3 antwoorden

Gesponsorde links
Offline Gerard - 10/01/2006 19:58 (laatste wijziging 10/01/2006 19:59)
Avatar van Gerard Ouwe rakker een & voor een variabele is dat je geen duplicaat maakt van een var (je kopieert de waarde niet) maar je maakt met die nieuwe var een verwijzing naar de oude. Als je dus van je nieuwe var de waarde wijzigt wordt daar doorgevoerd naar de & var (ByReference)

In een class maakt php4 standaard een ByVal variabele aan (maakt dus kopie). In php5 is dit standaard een ByRef variabele

een @ voor een functienaam (kan ook voor een var) is het onderdrukken van een error melding.
Offline Richard - 10/01/2006 20:10
Avatar van Richard Crew algemeen nog even een aanvullig: & betekent niet verwijzing naar de var, maar naar de memoryspace van die variabele;)

als je bv dit doet:

  1. <?php
  2. $a = 1;
  3. $b = &$a;
  4. unset ($a);
  5. echo $b; ?>


dan krijg je geen E_NOTICE, omdat $b nog bestaat, en refereert naar de memory die die variabele gebruikte

.
2) misschien is het interessant om te weten dat je in PHP 5 de &new BlaBlaclass niet meer kunt gebruiken (geen parse error, maar geen effect). je kunt dit alleen nog doen door: $obj = Class::clone (); te doen.
Offline dotPixel - 11/01/2006 15:49 (laatste wijziging 11/01/2006 15:53)
Avatar van dotPixel PHP interesse PHP.net: references
(Meer info over de &)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.194s