[PHP] already defined ?
Michael Voeten
22/01/2009 15:27:00Hoi Ik heb een probleem op een website.
als ik de pagina laad, krijg ik "niet elke keer" de melding dat constante al zijn gedefined.
http://www.adcorporate.com
weet iemand of dit een bug is in php ? of een andere reden ?
de eerste regel is session_start();
en de 2e regel is laden van een bestand waar de constanten worden geladen.
als ik de pagina laad, krijg ik "niet elke keer" de melding dat constante al zijn gedefined.
http://www.adcorporate.com
weet iemand of dit een bug is in php ? of een andere reden ?
de eerste regel is session_start();
en de 2e regel is laden van een bestand waar de constanten worden geladen.
PHP hulp
18/12/2024 05:23:02Jelmer -
22/01/2009 15:40:00Het lijkt erop dat je twee maal probeert Smarty's bestanden te includen.
Zelf gebruik ik altijd include_once, maar het is ook een gebruikelijke oplossing om al je includes (al je verwijzingen naar de andere PHP bestanden die je altijd nodig hebt) in een apart bestand te zetten, naast eventuele configuratie en eigen constanten, en zo'n bestand dan include.php, common.php o.i.d. te noemen. Dat bestand include je dan altijd, en altijd maar 1 keer, in de pagina waar de gebruiker binnenkomt.
Dus stel dat ik intyp "index.php", dan staat er in index.php een include verwijzing naar common.php, en in common.php staan includes naar config.php, databaseklasse.php, smarty.php. In config.php, databaseklasse.php en smarty.php gebruik je dan geen include meer om naar andere losse onderdelen te verwijzen.
Maar zoals je aan mijn uitleg al kan zien vereist dat iets meer naadenkwerk, terwijl include_once bijna net zo snel is maar een stuk simpeler.
Zelf gebruik ik altijd include_once, maar het is ook een gebruikelijke oplossing om al je includes (al je verwijzingen naar de andere PHP bestanden die je altijd nodig hebt) in een apart bestand te zetten, naast eventuele configuratie en eigen constanten, en zo'n bestand dan include.php, common.php o.i.d. te noemen. Dat bestand include je dan altijd, en altijd maar 1 keer, in de pagina waar de gebruiker binnenkomt.
Dus stel dat ik intyp "index.php", dan staat er in index.php een include verwijzing naar common.php, en in common.php staan includes naar config.php, databaseklasse.php, smarty.php. In config.php, databaseklasse.php en smarty.php gebruik je dan geen include meer om naar andere losse onderdelen te verwijzen.
Maar zoals je aan mijn uitleg al kan zien vereist dat iets meer naadenkwerk, terwijl include_once bijna net zo snel is maar een stuk simpeler.
Michael Voeten
22/01/2009 16:00:00Ik maak gebruik van include_once, maar ook een director waar alle classes worden declared en alle constanten worden defined.
Jelmer -
22/01/2009 16:16:00De eerste error komt doordat je een gelijke constante als Smarty gebruikt blijkbaar, LIBRARY_PATH. Deze staat blijkbaar ook bij de Smarty class (of je hebt zelf de declare() erneer gezet natuurlijk :) )
Anyway, ergens include je (en niet include_once je) Smarty. Dat is mijn enige verklaring.
Anyway, ergens include je (en niet include_once je) Smarty. Dat is mijn enige verklaring.