Misschien doe ik iets fout maar ik krijg lichtelijk de indruk dat PHP niet wacht tot een functie in een class klaar is alvorends verder te gaan. Bij normale functies is dit natuurlijk wel zo (denk aan mysql_connect gevolgd door een mysql_select_db en mysql_select_query, zou wel heel dom zijn als php niet zou wachten tot de mysql_connect klaar is).
Ik heb een class debug die er in versimpelde vorm zo uit ziet:
Nu maak ik in mijn Core class het volgende
Hier zegt ie heel netjes dat ie 1 message heeft welke de message is uit de constructor van Debug zelf. Blijkbaar komt ie al bij de aanroep van Display() voordat alle andere objecten gemaakt zijn en hun debugging zooi hebben gedaan, want het aanroepen zelf werkt wel (Als ik bij het toevoegen van een error in Debug zelf ShowDebug() aanroep dan zie ik wel steeds 2 messages, namelijk de eerste en de nieuwe.
Iemand enig idee hoe je die zooi op mekaar kan laten wachten? (Zal vast wel in de PHP FAQ of ergens in de search staan maar ik kan het iig niet vinden) Mijn dank is groot.
Ik heb een class debug die er in versimpelde vorm zo uit ziet:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| <? class Debug { var $msgs; var $size; function Debug() { $this->size = 0; $this->Error("Starting @ ". mktime(),0); } function Error($a_msg,$a_level) { $this->msgs .= "($a_level) $a_msg<BR>"; } function ShowSize() { //echo "Received ".$this->size." debugging messages<BR>"; } function Display() { echo "<BR>Displaying ".$this->size." debugging messages:"; echo "<blockquote>"; echo $this->msgs; echo "</blockquote>"; } } ?> |
Nu maak ik in mijn Core class het volgende
PHP:
1
2
3
4
5
| <? $this->debug = new Debug; // hier maak ik wat objecten die de core zelf meekrijgen en via de core gebruik maken van de debug class $this->debug->Display(); ?> |
Hier zegt ie heel netjes dat ie 1 message heeft welke de message is uit de constructor van Debug zelf. Blijkbaar komt ie al bij de aanroep van Display() voordat alle andere objecten gemaakt zijn en hun debugging zooi hebben gedaan, want het aanroepen zelf werkt wel (Als ik bij het toevoegen van een error in Debug zelf ShowDebug() aanroep dan zie ik wel steeds 2 messages, namelijk de eerste en de nieuwe.
Iemand enig idee hoe je die zooi op mekaar kan laten wachten? (Zal vast wel in de PHP FAQ of ergens in de search staan maar ik kan het iig niet vinden) Mijn dank is groot.