Hallo Allen,
Ik loop tegen een zeer raar probleem aan omtrent de scope van Objecten.
Ik maak gebruik van PHP5 op een DirectAdmin server.
Wat is het geval? Open even de bijlage dat maakt het een stukje duidelijker.
Ik ben bezig met een eigen CMS te schrijven, opzich werkt alles goed. Diverse modules al.
Voor site specifieke aanpassingen en functionaliteiten heb ik ondersteuning voor special configs. Deze worden bij het starten al geladen en maken diverse grote aanpassingen mogelijk.
Standaard starten we natuurlijk met de index.php, laden een config (generieke settings).
Laden vervolgens een 'engine'. Deze engine definieert een object $SITE en een object $USER. Deze worden correct gedefinieerd.
Dit geheel vind plaats via diverse control structures maar zonder enige functies tot op heden. Er worden wel functies en classes gedefinieerd maar nog niet gebruikt.
$SITE is eigenlijk onze engine en doet content beheer etc.
Voordat we $SITE->Execute(); doen om de engine te starten, willen we een aantal hooks toevoegen via een special config.
In $SITE zit een constructor die via de HTTP_HOST al wat site details heeft geladen in het object. Onder andere het FQDN (de HTTP_HOST eigenlijk).
De te laden special config is genoemd naar het FQDN met de extensie .php
Bijvoorbeeld voor de website www.example.org laden we het bestand www.example.org.php.
Dit gaat allemaal goed, echter wanneer we in www.example.org.php het $SITE Object willen benaderen resulteert PHP NULL, Het gehele $SITE Object komt niet terug tussen de 'variabelen' met de PHP functie get_defined_vars().
En dit terwijl het object is gebruikt om het betreffende bestands te kunnen laden. (Let op het bestand is niet vanuit $SITE geladen, maar de bestandsnaam is gevormd met behulp van een variable in $SITE).
Mijn grootste probleem op dit moment is dat het object $SITE niet te gebruiken is op dit punt.
Ook het maken van een functie in het laatste bestand en dat aan te roepen en vervolgens global $SITE; levert niet het gewenste resultaat.
Mijn hoop is nu eventjes gevestigd op mensen hier, die mij wakker schudden en in de juiste richting kunnen duwen. (Wakker schudden op deze tijd juist omdat ik al vroeg op was. Reeds om 4 uur).

Likes:
![[PHP] Object Scope probleem](https://www.webhostingtalk.nl/images/WHT_rd/misc/dT.png)

Quote