16.2. Embedding PHP in HTML

You embed PHP code into a standard HTMLpage., Zo kunt u bijvoorbeeld de titel van een HTML-document dynamisch genereren:

<html><head><title><?echo $title?></title></head>...

The <?echo $titel?> gedeelte van het documentis vervangen door de inhoud van de $title PHPvariable. echo is een basistaalverklaring die u kunt gebruiken om gegevens uit te voeren.

Er zijn een paar verschillende manieren waarop u uw PHP-code kunt insluiten. Zoals je net zag, kun je PHP code zetten tussen <?en ?,> tags:

<? echo "Hello World"; ?>

deze stijl is de meest voorkomende manier om PHP in te sluiten, maar het is een probleemAls uw PHP-code naast XML moet bestaan, zoals XML kan gebruik dattagging stijl zelf. Als dit het geval is, zet deze stijl uit in dephp.ini-bestand met de short_open_tag-richtlijn. Een andere manier om PHPcode in te bedden is binnen <?php en?,> tags:

<?php echo "Hello World"; ?>

deze stijl is altijd beschikbaar en wordt aanbevolen wanneer Uw PHP-codes portable moeten zijn naar veel verschillende systemen., De inbedding van PHP binnen<script> – tags is een andere stijl die isalways beschikbaar:

<script language="php" > echo "Hello World";</script>

Een laatste stijl, in de code isbetween <% en %> – tags,is standaard uitgeschakeld:

<% echo "Hello World"; %>

U kunt op deze stijl met de asp_tagsdirective in uw php.ini file., De stijl is het meest handig wanneer u Microsoft FrontPage of een andere HTMLauthoring tool die de tag stijl voorkeur voor HTML-embeddedscripts.

u kunt meerdere statements scheiden door ze te scheiden met puntkomma ‘ s:

<?php echo "Hello World"; echo "A second statement";?>

Het is legaal om te allen tijde heen en weer te schakelen tussen HTML enphp., Als u bijvoorbeeld 100<br /> tags voor een bepaald seizoen wilt uitvoeren, kunt u dit doen:

<?php for($i=0; $i<100; $i++) { ?> <br /><?php } ?>

natuurlijk zou het gebruik van de str_repeat( ) functie hier zinvoller zijn.

wanneer u PHP-code in een HTML-bestand insluit, moet u de.php bestandsextensie voor dat bestand, zodat yourweb server Weet om het bestand te sturen naar PHP voor verwerking. Of, als je je webserver hebt geconfigureerd om een andere extensie voor PHPfiles te gebruiken, Gebruik die extensie in plaats daarvan.,

wanneer u PHP-code hebt ingebed in een HTML-pagina, kunt u die pagina zien als een PHP-programma. De stukjes en beetjes van HTML en PHPcombine om de functionaliteit van het programma te bieden. Een verzameling van pagina ’s die programma’ s bevatten kan worden gezien als een webapplicatie.

16.2.1. Inclusief bestanden

een belangrijke eigenschap van PHP isits mogelijkheid om bestanden op te nemen. Deze bestanden kunnen extra PHPtags bevatten. Wanneer u het ontwerpen van een webapplicatie, kunt u break outgemeenschappelijke componenten en plaats ze in een enkel bestand., Deze stap maakt het veel gemakkelijker om bepaalde aspecten later op één plaats te wijzigen en de wijziging wordt van kracht in de hele toepassing. Om een bestand op te nemen, gebruik je het includekeyword:

<?php $title="My Cool Web Application"; include "header.inc";?>

de header.inc bestand kan er als volgt uitzien:

<html><head><title><?php echo $title?></title></head>

dit voorbeeld illustreert twee belangrijke concepten van opgenomen bestanden inPHP. Ten eerste zijn variabelen die in het includebestand zijn ingesteld automatisch beschikbaar in het includebestand., Ten tweede, elk opgenomen bestand start in HTML-modus. Met andere woorden, als je een bestand wilt opnemen dat een code heeft, moet je die code net als elke andere PHP code insluiten.

merk ook op dat ik de .inc extensie hier.Dit is geen speciaal bestandstype, alleen een willekeurige extensie naam Ichose. Omdat je Apache server niet is ingesteld om te behandelen.inc-bestanden als PHP-bestanden, als je dit bestand ergens onder je document_root plaatst, kunnen mensen er naar toe bladeren en de PHP-bron in dat bestand direct zien. Dit is meestal geen goed idee, dus voeg ik deze regels toe aan myhttpd.,conf file:

<Files ~ "\.inc$"> Order allow,deny Deny from all</Files>

dit blokkeert elke directe toegang tot .inc bestanden. De andere optie is om de bestanden niet onder document_root te plaatsen, of misschien om ze een naam te geven.php in plaats daarvan. Maar wees voorzichtig met die laatste benadering. Houd in gedachten dat mensen dan in staat zullen zijn om deze scripts uit te voeren, wanneer ze waarschijnlijk niet ontworpen zijn om op eenandalone manier te worden uitgevoerd.

andere manieren om bestanden op te nemen zijn via include_once, require, andquire_once., Het verschil tussen include en require is simpeldat met include, als het bestand dat moet worden opgenomen niet bestaat, krijg je een waarschuwing, terwijl met require je een fatale fout krijgt en script uitvoering stopt. De include_once en require_oncevariations zorgen ervoor dat het bestand dat wordt opgenomen nog niet is opgenomen. Dit helpt voorkomen dat dingen zoals functie herdefinitiefouten.,

16. PHP 16.3. Language Syntax