Hoe om te gaan of waar te plaatsen PHP script
dank voor de moeite
Topic verplaatst naar een betere categorie.[/modedit]
Gewijzigd op 10/02/2015 20:55:47 door Wouter J
Dan zal je zien dat je verhaal, waar PHP moet komen, geen steek houdt: het komt altijd voor de HTML.
PHP maakt (onder andere) de HTML.
Maar onder de noemer zoekt en gij zult vinden zoeken we rustig verder. Nogmaals dank.
Een index.php bestand heeft geen specifieke eisen. Dus je kan hem zelf opbouwen naar jouw wens. Zolang de HTMLstructuur die je genereert maar klopt.
PHP-code wordt altijd begrensd door een (in ieder geval) een speciale openings-"tag", en meestal wordt de verkorte variant ook toegestaan:
Alles wat tussen deze tags staat:
of
wordt geinterpreteerd als PHP-code.
PHP code is een serverside scripting taal. Dit houdt in dat de code aan de webserver-kant wordt uitgevoerd. Dit in tegenstelling tot bijvoorbeeld JavaScript, dat een clientside scripting taal is. JavaScript code wordt in de browser uitgevoerd.
De webserver "weet" doorgaans dat een bestand PHP-code heeft door de extensie van het bestand (.php). Dat is voor de webserver een signaal om het hele bestand te behandelen als PHP-code. Daarbij worden alleen de delen tussen de PHP-tags "uitgevoerd".
Wat een bezoeker ziet van een PHP-pagina is de uitvoer (het resultaat van de uitvoering) van de code.
Heel kort door de bocht zou je een PHP-bestand kunnen zien als een HTML-document, uitgebreid met een extra tag-paar waarbinnen je je PHP-code kunt gebruiken.
Maar PHP-bestanden hoeven niet per se "uitvoer" te hebben, het kunnen ook hulpbestanden zijn die in andere PHP-bestanden worden gebruikt om bepaalde taken te verrichten. Vergelijk dit met het invoegen van JavaScript bestanden in je HTML-document.
En een van de handige voorzieningen van PHP is dat je binnen zo'n PHP-blok een ander bestand kunt invoegen. Dit stelt je in staat om je (uiteindelijke) HTML-document (wat in je browser getoond wordt) dynamisch op te bouwen.
Een heel simpel voorbeeld, stel je hebt het bestand index.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<p><?php
echo 'Hello World';
?></p>
</body>
</html>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<p><?php
echo 'Hello World';
?></p>
</body>
</html>
De webserver ziet dat dit een PHP-bestand is, zal de PHP-blokken inspecteren en de code uitvoeren.
Uiteindelijk ziet een eindgebruiker in zijn/haar webbrowser het volgende:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<p>Hello World</p>
</body>
</html>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<p>Hello World</p>
</body>
</html>
In het uiteindelijke bestand wat de gebruiker ontvangt komt dus helemaal geen PHP-code meer voor.
Gewijzigd op 10/02/2015 16:48:58 door Thomas van den Heuvel
Er is dus geen specifieke plek voor PHP, want dat kan overal staan.
Nu is het nogal onzin om <html> door PHP te laten schrijven, want dat is toch statisch.
Hoewel: je kan een content.php prima HTML voor gewone gebruikers laten genereren en een XML met nagenoeg dezelfde informatie voor zoekrobots.
Quote:
Nu is het nogal onzin om <html> door PHP te laten schrijven, want dat is toch statisch.
HTML is weliswaar statisch, maar de content die je toont hoeft dit niet te zijn. Zo zou je een HTML-tabel dynamisch kunnen opbouwen met PHP + informatie uit je database. Maar ja, het is niet nodig om statische HTML te echo-en inderdaad.
Ook heeft PHP een veel breder toepassingsgebied dan enkel "HTML", met PHP kun je documenten met uiteenlopende Content-Types bouwen (afbeeldingen, JSON, zip-bestanden, XML, noem het maar op).
Je kan dit doen:
Of dit:
Maar dat is dus niet handig. Het kan wel.
Jouw voorbeeld:
Dit is een deel van een URL. We noemen dat een relatieve URL De verwijzing heeft een relatie met het bestand waarin de URL geschreven staat.
Dit is een volledige URL wat we ook wel een absolute URL noemen. De URL is volledig en staat dus los van het bestand waarin het geschreven is.
Nu PHP.
Php draait op de webserver. Binnen PHP kun je met andere bestanden werken die op dezelfde computer staan.
Je hebt in dit geval helemaal niet met URL's te maken maar met de zogenaamde filesystem. Denk maar gewoon aan je eigen computer, wellicht Windows:
Of linux
Om bestanden met PHP te includen kun je wederom een relatieve of een absolute verwijzing geven.
Code (php)
Indeling PHP bestanden:
Als beginnend php-er kan het wat lastig zijn om te bepalen waar je welke php bestanden moet laten.
Om dit goed door te hebben dien je te beseffen dat er PHP bestanden zijn die bedoeld zijn om een gebruiker op te laten 'landen' zoals index.php, about.php en contact.php.
Daarnaast zijn er PHP bestanden die alleen functionaliteit toevoegen. In deze bestanden vindt je enkel functies, classes of configuratie variabelen. Voorbeelden zijn: functies.php, config.php PHPMailer.class.php. Deze bestanden worden altijd met include(_once) of require(_once) toegevoegd aan de landingspagina.
Je totale indeling zou er dan bijvoorbeeld zo uit kunnen zien: