Samengevat is mijn vraag als volgt: Wat is beter bij herhaalde uitvoering: Meerdere malen dezelfde include (require) of gebruik van require_once icm. een functie-aanroep.
Om de boel wat overzichtelijk te houden, werk ik met include-bestanden die acties uitvoeren.
Welke acties is afhankelijk van de variabele $actie. De variabele $actie en/of $status wordt gewijzigd afhankelijk van de uit te voeren acties. Vervolgens eindigt de lus of wordt er opnieuw een actie uitgevoerd.
Vereenvoudigd fragment:
Zoals je ziet is er sprake van een lus. Als $status 0 blijft, dan wordt opnieuw een actie uitgevoerd. Het is dus mogelijk dat hetzelfde bestand meer dan één keer wordt geinclude.
Het include bestand voert acties uit en kan probleemloos vaker worden aangeroepen. Zoals hierboven beschreven werkt het prima.
Toch vraag ik mij af of het niet beter kan. Ik heb geen goed gevoel bij het herhaaldelijk includen, ik vind het niet zuiver.
Een alternatief is ipv. require require_one gebruiken icm. met een functie.
inhoud actieA.php:
Nadeel van deze methode is dat het iets omslachtiger is.
Wat is efficiënter/sneller/beter?
Om de boel wat overzichtelijk te houden, werk ik met include-bestanden die acties uitvoeren.
Welke acties is afhankelijk van de variabele $actie. De variabele $actie en/of $status wordt gewijzigd afhankelijk van de uit te voeren acties. Vervolgens eindigt de lus of wordt er opnieuw een actie uitgevoerd.
Vereenvoudigd fragment:
code:
1
2
3
4
5
6
| $status=0; while ($status==0) { if (($actie==1) || ($actie==2)) require 'actieA.php'; elseif (($actie>=10000) && ($actie<10100)) require 'actieB.php'; else require 'actieC.php'; } |
Zoals je ziet is er sprake van een lus. Als $status 0 blijft, dan wordt opnieuw een actie uitgevoerd. Het is dus mogelijk dat hetzelfde bestand meer dan één keer wordt geinclude.
Het include bestand voert acties uit en kan probleemloos vaker worden aangeroepen. Zoals hierboven beschreven werkt het prima.
Toch vraag ik mij af of het niet beter kan. Ik heb geen goed gevoel bij het herhaaldelijk includen, ik vind het niet zuiver.
Een alternatief is ipv. require require_one gebruiken icm. met een functie.
code:
1
2
3
| ... if (($actie==1) || ($actie==2)) { require_once 'actieA.php'; actieA(); } ... |
inhoud actieA.php:
code:
1
2
3
4
5
6
| <?php function actieA() { global $actie, $status; // van alles doen } ?> |
Nadeel van deze methode is dat het iets omslachtiger is.
Wat is efficiënter/sneller/beter?