Hoioi,
ik heb niet direct een probleem, maar vroeg me meer af hoe anderen dingen aanpakken / er slimmere methodes te bedenken zijn..
Ik ben nu bezig in php, maar t gaat waarschijnlijk op voor veel meer talen..
Ik wil mijn sites modulair opbouwen, dat wil zeggen (hypothetisch):
sessie.php
Mijn beveiliging.php heeft sessies nodig, dus zal sessie.php includen
beveiliging.php
Ook mijn gastenboek heeft databaseondersteuning nodig dus:
gastenboek.php
-----
Dit gaat allemaal prima natuurlijk..
Maar het volgende geval gaat dan natuurlijk mis; ik maak een pagina index.php die gebruik maakt van een gastenboek en beveiligd moet zijn.
Dit gaat fout omdat db.php nu dus twee keer geinclude wordt, met als gevolg dubbele declaraties van functies...
Ik moet echter wel die db.php laten includen in gastenboek.php omdat dat script ook zonder beveiliging zou kunnen draaien en ik er niet vanuit mag gaan dat db.php al eerder geinclude is..
Mijn oplossing zou zijn om een globale variabele includes te maken waarin ik check of een bestand al geinclude is, alvorens het te includen..
Zodat ik ipv include gewoon includemetcheck("blabal'php"); doe..
en gewoon in elk bestand aan kan geven welke hij allemaal nodig heeft..
een groot verhaal, en t werkt dus ook allemaal prima op deze manier, maar t is dus ook meer de vraag of dit een handige aanpak is/ er slimmere methodes te bedenken zijn...
ik hoop dat er wat uit komt!
ik heb niet direct een probleem, maar vroeg me meer af hoe anderen dingen aanpakken / er slimmere methodes te bedenken zijn..
Ik ben nu bezig in php, maar t gaat waarschijnlijk op voor veel meer talen..
Ik wil mijn sites modulair opbouwen, dat wil zeggen (hypothetisch):
- ik heb een bestand dat database connecties afhandelt (db.php)
- een bestand dat sessieafhandeling regelt (sessie.php)
- een bestand dat inloggen en beveiliging regelt (beveiliging.php)
- een bestand dat gastenboek afhandeling regelt..(gastenboek.php)
sessie.php
PHP:
1
| include "db.php"; |
Mijn beveiliging.php heeft sessies nodig, dus zal sessie.php includen
beveiliging.php
PHP:
1
| include "sessie.php"; |
Ook mijn gastenboek heeft databaseondersteuning nodig dus:
gastenboek.php
PHP:
1
| include "db.php"; |
-----
Dit gaat allemaal prima natuurlijk..
Maar het volgende geval gaat dan natuurlijk mis; ik maak een pagina index.php die gebruik maakt van een gastenboek en beveiligd moet zijn.
PHP:
1
2
| include "beveiliging.php"; include "gastenboek.php"; |
Dit gaat fout omdat db.php nu dus twee keer geinclude wordt, met als gevolg dubbele declaraties van functies...
Ik moet echter wel die db.php laten includen in gastenboek.php omdat dat script ook zonder beveiliging zou kunnen draaien en ik er niet vanuit mag gaan dat db.php al eerder geinclude is..
Mijn oplossing zou zijn om een globale variabele includes te maken waarin ik check of een bestand al geinclude is, alvorens het te includen..
PHP:
1
2
3
4
5
6
| function includemetcheck($needed){ global $INCLUDES; if (!in_array($needed,$INCLUDES)){ include $needed; } } |
Zodat ik ipv include gewoon includemetcheck("blabal'php"); doe..
en gewoon in elk bestand aan kan geven welke hij allemaal nodig heeft..
een groot verhaal, en t werkt dus ook allemaal prima op deze manier, maar t is dus ook meer de vraag of dit een handige aanpak is/ er slimmere methodes te bedenken zijn...
ik hoop dat er wat uit komt!