php class aanroepen vanuit ander bestand
ik heb een php systeem waar ik een header.php heb die op elke pagina wordt ingeladen. Deze header heeft een include erop staan die de config.php include, maar ook alle classes waaronder de query class. Deze query class heeft alles in huis dat je een query kunt uitvoeren. Nu wil ik vanuit het config bestand een query gaan uitvoeren. Hoe ga ik dit doen? Ik heb nu in de header alle libs (zoals query) ingeladen, en daar onder de config. Maar als ik dan de config inlaad en in de config een query wil uitvoeren lukt dat niet..
Klein voorbeeldje om het duidelijk te maken:
HEADER.PHP
Code (php)
1
2
3
2
3
include 'query.php'; //hier staat de query methode in die ik kan aanroepen met $query->runSelect() etc;
$query = new query();
include 'config.php'; //hier wil ik een query uitvoeren
$query = new query();
include 'config.php'; //hier wil ik een query uitvoeren
Als ik in config.php dan niets doe, of $query = new query(); doet hij beide niets. Hij zegt dat hij query niet kent.
Iemand die dit kan verklaren?
Er van uitgaande dat in config ook gegevens staan m.b.t. verbinden met database, etc.
Het laden van deze bestanden gebeurt dan "on demand", en alleen als je ze echt gaat gebruiken.
De reden dat je geen foutmelding krijgt is waarschijnlijk omdat je foutenrapportage niet aan staat en/of niet wordt weergegeven.
Daarnaast produceert een include die mislukt enkel warnings terwijl een require die mislukt resulteert in een fatal error. Als je een bestand echt nodig hebt om een bepaalde taak uit te voeren, is het beter om require(_once) te gebruiken, of een autoloader.
Daarnaast is het dus handig dat je tijdens het ontwikkelen ook het rapporteren en weergeven van fouten aanzet. Voeg dit helemaal aan het begin van je code toe, bijvoorbeeld bovenaan in je config.php als dat het eerste bestand is wat je inlaad:
Gewijzigd op 21/08/2015 16:28:21 door Thomas van den Heuvel