[PHP] already defined ?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Michael Voeten

Michael Voeten

22/01/2009 15:27:00
Quote Anchor link
Hoi 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.
 
PHP hulp

PHP hulp

18/12/2024 05:23:02
 
Jelmer -

Jelmer -

22/01/2009 15:40:00
Quote Anchor link
Het 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.
 
Michael Voeten

Michael Voeten

22/01/2009 16:00:00
Quote Anchor link
Ik maak gebruik van include_once, maar ook een director waar alle classes worden declared en alle constanten worden defined.
 
Jelmer -

Jelmer -

22/01/2009 16:16:00
Quote Anchor link
De 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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.