Archief - basis opbouw website

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

SkY

Legacy Member
Ik ben sinds kort mij wat aan het verdiepen in PHP en heb ondertussen enkele projectjes afgewerkt.

Nu vroeg ik mij af wat de beste manier is om u site op te bouwen en te navigeren tussen de verschillende paginas. Ik geef een voorbeeld dan zal het wel duidelijker zijn.

Zo doe ik het nu: mijn index.php
PHP:
<html>
<head>...</head>
<body>
    <?php
        $pagina = $_GET['page'];
    ?>
<div id="menu">
    <?php
        include 'menu.php';
    ?>
</div>
<div id="content">
    <?php
        if (file_exists($pagina . '.php'))
        {
            include $pagina . '.php';
        }
        elseif (file_exists($pagina . '.html'))
        {
            include $pagina . '.html';
        }
        else{
            include 'home.php';
        }
    ?>
</div>
</body>
</html>

In menu.php staat bijvoorbeeld de volgende link:
PHP:
<a href="index.php?page=contact">link naar contact</a>

Ik dacht dat dit vroeger zo gedaan werd maar dit heeft natuurlijk enkele nadelen. Zo is het nogal moeilijk om queries mee te geven bijvoorbeeld en zit je altijd op dezelfde pagina te werken wat ook niet zo positief is voor SEO dacht ik.

Ik zou voor elke pagina een andere pagina aanmaken (wat nu in principe ook zo is) maar herhaal je dan telkens je main code zoals head, body, menu includen,...

Heeft iemand in verband met dit een goede tutorial, of kan iemand snel toelichten hoe ik het best te werk ga?

Alvast bedankt!

mensaap

Legacy Member
Tegenwoordig werkt men met bijvoorbeeld een MVC structuur, hierbij worden verschillende "views" geladen, men kan bij het laden dan een array aan data meegeven.

Ik werk bijvoorbeeld met codeigniter, een uitstekend mvc framework, misschien moet je dat eens bekijken. Ze hebben een uitstekende video tutorial op hun site.

SkY

Legacy Member
mensaap zei:
Tegenwoordig werkt men met bijvoorbeeld een MVC structuur, hierbij worden verschillende "views" geladen, men kan bij het laden dan een array aan data meegeven.

Ik werk bijvoorbeeld met codeigniter, een uitstekend mvc framework, misschien moet je dat eens bekijken. Ze hebben een uitstekende video tutorial op hun site.

Yup dat heb ik al bekeken, maar ik dacht eerst wat meer gewoon puur met de php te werken om nadien dan over te stappen naar een framework...

metalleke

Legacy Member
SkY zei:
Yup dat heb ik al bekeken, maar ik dacht eerst wat meer gewoon puur met de php te werken om nadien dan over te stappen naar een framework...

Bouw dan wat (simpele) scripts om php te leren. Zo een website maken is ook niet meer van deze tijd imo.

BjoJn

Legacy Member
Ik vraag me eigenlijk hetzelfde wat af, aangezien ik ook gestart ben met php...

vroeger, als ik met webdesign startte, dan had ik weet van php includes en zo wa if-toestanden om dan eventueel content te laden...

GregoryCo

Legacy Member
Je maakt gewoon een functie aan (bvb getContent()) en in uw main php file (index.php) maak je een switch case (om te switchen tussen uw versch pagina's) waarin je dan zo iets zet:

PHP:
case 'home':
			require_once('includes/toonOverzicht/index.php');
			
			if($action == 'detail')
			{
				if(isset($_GET['did']))
				{
					$did = $_GET['did'];
				}
				//detail pagina
				$content = getDetail($did);
			}
			else
			{
				//overzicht
				$content = getContent();
			}
				
			break;

En in uw index.htm kun je gewoon {$content} zetten.

Je hoeft dus niet telkens uw head, body etc. in te voegen.

sanzo

Legacy Member
Of je kan met een header en footer bestand werken en deze dan telkens includen. Handige deraan is dat je template volledig gescheiden is. Heb je ook meteen veel mooiere url's en moet je niet gaan prutsen met mod_rewrite.

adrianhates

Legacy Member
sanzo zei:
Of je kan met een header en footer bestand werken en deze dan telkens includen. Handige deraan is dat je template volledig gescheiden is. Heb je ook meteen veel mooiere url's en moet je niet gaan prutsen met mod_rewrite.

je bedoelt dan in mapjes werken? :) Dat deed ik eerst ook maar als je wat grotere projecten gaat maken geeft dit toch veel problemen ze :)

Mod rewrite om schoon url's te krijgen is echt wel the way to go

sanzo

Legacy Member
Voor grote projecten lijkt geen van beide me zo handig. (Ik bedoelde zoiets) Dan kan je de paginas met de inhoud zelf noemen hoe je wilt, en wordt de rest geïnclude. Voor grotere dingen gebruik ik dan wel mod_rewrite.

dJeez

Legacy Member
sanzo zei:
Voor grote projecten lijkt geen van beide me zo handig. (Ik bedoelde zoiets) Dan kan je de paginas met de inhoud zelf noemen hoe je wilt, en wordt de rest geïnclude. Voor grotere dingen gebruik ik dan wel mod_rewrite.
Het ene sluit het andere niet uit, maw ook de combinatie is mogelijk. Dus mod_rewrite voor SEO, en je template op de backend opdelen in verschillende stukjes (waar ofwel de hoofdtemplate zelf ofwel de template engine dienst kan doen om de verschillende onderdelen samen te plakken) is perfect mogelijk.

BjoJn

Legacy Member
mja mod_rewrite... ge vindt daar nergens nen degelijke tutorial over. Ik ben daar wa mee beginnen testen en prutsen, maar tging mij niet echt af...

Het enige wat ik wil kunnen is bijvoorbeeld contact.php omzetten naar contact of contact/

Drone

Legacy Member
Is er voor php zo niks als Django templates of Asp.net Master pages? Zo banner footer includen vond ik altijd nogal omgekeerd.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan