[PHP] spring uit geinclude file

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb het volgende:

code:
1
2
3
4
5
6
index.php
-- require a1.php
---- require b1.php
-- require a2.php
---- require b2.php
---- require b3.php


nu wil ik bvb in a2.php een test doen:

code:
1
2
if ( IsLoggedOn() )
  SpringUitDezeIncludedFile();


Is dit mogelijk zonder deze if te gebruiken met haakjes rond de hele included file?

Acties:
  • 0 Henk 'm!

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 19:57

Kees

Serveradmin / BOFH / DoC
Je kan ook zo programeren dat je bijv. alle functies in de includes gooit en dan alles include en alleen aanroept wat je nodig denkt te hebben. Includes die code uitvoeren zijn niet echt handig imho, includes zijn voor configs, functies, constants, templates etc, niet om code uit te voeren / data te veranderen.

Dan is je hele vraag ook meteen overbodig, want dan roep je gewoon de functies aan die jij wil:
PHP:
1
2
3
4
5
6
index.php:
if (is_logged_on()) {
    doe_deze_functie();
} else {
    doe_een_andere();
}

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Daar heb je natuurlijk gelijk...

Waarom ik dit doe:

index.php?page=a1&action=b1

op deze manier roep ik dan bvb _a1_b1.php op ...
Dit is een beetje netter van coderen enzo. Maar ik wil bvb als er in mijn script een fout zit en/of ze komen op een andere manier de php-pagina te weten, dat ze er toch niet in geraken.

Voor het moment heb ik dit opgelost met die(); ... Maar dit is niet helemaal correct met de HTML-syntaxis daar ik nooit aan mijn include(endhtml.php) kom... [maw /body en /html en zo voort worden nooit geschreven].

Natuurlijk niet echt nodig in de huidige browsers, maar ja ;)

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Dit is een beetje netter van coderen enzo.
Includes gebruiken als pseudo-functies is niet netjes als je het mij vraagt hoor ;)
Voor het moment heb ik dit opgelost met die(); ... Maar dit is niet helemaal correct met de HTML-syntaxis daar ik nooit aan mijn include(endhtml.php) kom... [maw /body en /html en zo voort worden nooit geschreven].

Natuurlijk niet echt nodig in de huidige browsers, maar ja
Dat IE toevallig heel soepel is wil niet zeggen dat het correct is. Ben benieuwd of je dit ook in Mozilla getest hebt ;) Maar dan nog, dat het werkt wil niet zeggen dat je het zo moet doen.

Je hebt het over 'netjes coderen' maar ik zie dat toch nergens in je beslissingen terug :P

[ Voor 67% gewijzigd door Bosmonster op 06-02-2004 09:12 ]


Acties:
  • 0 Henk 'm!

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 07-11-2023

kvdveer

Z.O.Z.

Het antwoord op je vraag is voor de hand liggender dan je misschien zou denken: return.
Ik wil je alleen verzoeken de kreet "Netjes programmeren" niet meer te gebruiken als je deze constructie gebruikt.
Bij netjes programmeren vraag je geen include op door een stukje uit de url te plakken, bij netjes programmeren gebruik je geen includes als metafuncties, bij netjes programmeren return je niet als niet aan een bepaalde voorwaarde voldaan is (dan ga je conditioneel verder), bij netjes programmeren overweeg je niet eens om ongelofelijk brakke html te genereren.

Localhost, sweet localhost


Acties:
  • 0 Henk 'm!

  • yade
  • Registratie: Mei 2002
  • Laatst online: 16-07 13:47
code:
1
return;
Pagina: 1