Hallo mede tweakerts,
Ik heb een vraag m.b.t. een stuk code waar ik aan werk.
Ik heb de volgende situatie: Ik heb een templating class die a.d.h.v variabelen in de HTML bepaalde blokken html ophalen (ik noem ze 'sections').
Deze sections hebben allemaal een eigen controller om bepaalde functionaliteit te kunnen produceren.
Deze controllers zijn inprincipe niets meer als functies in de class 'SectionController'.
Dit is een klein voorbeeld
De bovenstaande code hoort dus de functie 'SectionController::menu' uit te voeren, en dat probeert hij ook.
Echter gaat de exception wel af omdat call_user_func_array een fout tegen komt. De functie zelf gooit echter niet met errors. En de print_r laat duidelijk zien dat de functie 'menu' WEL bestaat in de SectionController class.
Zie ik iets over het hoofd waar de toppers van tweakers mij op kunnen wijzen?
Bij voorbaat dank,
Bryan Dijksterhuis
Ik heb een vraag m.b.t. een stuk code waar ik aan werk.
Ik heb de volgende situatie: Ik heb een templating class die a.d.h.v variabelen in de HTML bepaalde blokken html ophalen (ik noem ze 'sections').
Deze sections hebben allemaal een eigen controller om bepaalde functionaliteit te kunnen produceren.
Deze controllers zijn inprincipe niets meer als functies in de class 'SectionController'.
Dit is een klein voorbeeld
HTML:
1
| {{bd:var name="menu" type="main"}} |
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| // Hele template class // en dit staat binnen in de functie die de html door loopt en de custom template tags gaat vervangen // Debuggen if(!class_exists('SectionController')){ $class = new SectionController; } // Nog meer debuggen print_r(get_class_methods('SectionController')); // Daadwerkelijke call $call = call_user_func_array(array('SectionController', strtolower(trim($aAttrs['name']))), $aAttrs); if($call == false){ // En hier gooit hij dus de fout dat 'SectionController::menu' niet bestaat throw new Exception('Function <strong>'.strtolower(trim($aAttrs['name'])).'</strong> does not exist in Section Controller'); }else{ $sReplace = $call; } // rest van de code |
PHP:
1
2
3
4
5
6
7
| static public function menu($aParams){ $sHtml = ''; // Blok met code die menu items ophaalt e.d. // Note: Er staat GEEN fouten in dit stuk aangezien het gehele blok er uit gecomment is. // Alleen de definitie van sHtml en de return er van staan niet gecomment. return $sHtml; } |
De bovenstaande code hoort dus de functie 'SectionController::menu' uit te voeren, en dat probeert hij ook.
Echter gaat de exception wel af omdat call_user_func_array een fout tegen komt. De functie zelf gooit echter niet met errors. En de print_r laat duidelijk zien dat de functie 'menu' WEL bestaat in de SectionController class.
Zie ik iets over het hoofd waar de toppers van tweakers mij op kunnen wijzen?
Bij voorbaat dank,
Bryan Dijksterhuis