Programmering:PHP 'PHP' (i begyndelsen en forkortelse for „'P'ersonal 'H'ome 'P'age Tools“, men nu et rekursivt akronym for „'P'HP 'H'ypertext 'P'reprocessor“) er et open source-programmeringssprog, der primært bruges på webservere til at generere dynamisk indhold på hjemmesider. PHP blev oprindelig udviklet af dansk-canadieren Rasmus Lerdorf. PHP blev udgivet den 8. juni 1995.

Opbygning
Filendelse

Som endelse på filnavne for PHP-filer benyttes ofte .php, .php3, .php4, .php5 eller .phtml. Til fremvisning af selve PHP-filerne med syntaksfremhævning kan endelsen .phps på filnavnet benyttes.

Afgrænsning af koden

Et PHP script starter altid med <?php eller <? og slutter med ?>, dog kan det også behandles ved brug af et HTML tag; <script language=„php“>. Der bruges dog også <?= ?> til et direkte print i html kode. Det ses ligeledes sjældent, at PHP åbnes med ASP tags som <% og %> og <%= %> til direkte print. Det er gyldig, hvis „asp_tags“ er slået til i PHP konfigurationen - men dog yderst sjældent man ser det i praksis.

PHP i et webmiljø

Når en browser forespørger om en PHP-side, så fortolkes koden først af webserveren vha. et plugin-program, der enten oversættes sammen med webserveren (oftest Apache under GNU/Linux og Unix - se LAMP) eller som et CGI/ISAPI-program (oftest Internet Information Server eller Apache under Windows), der så genererer websiden, inden den bliver sendt af sted tilbage til browseren, som fortolker HTML-koden og viser hjemmesiden.

Hvor benyttes PHP?

PHP benyttes blandt andet af til generering af Wikipedias websider, hvor den samlede PHP-løsning hedder MediaWiki.

PHP kan også bruges til andre formål end blot dynamiske websider, blandt andet kan shell scripts og programmer med grafisk brugerflade (gennem GTK+) også kodes med dette sprog.

PHP kan ses som et open source-alternativ til Microsofts Active Server Pages (ASP) og til CGI/Perl.

Parseren til PHP er for det meste Zends Zend Engine, der er skrevet i C, og er blevet brugt i PHP siden PHP3 blev udgivet. PHP5, som blev udgivet d. 13. juli 2004, bruger Zend Engine II.

Den 8. juni 2005 fyldte PHP 10 år.

Til PHP findes der et udvidelsessæt af komponenter og hyppigt benyttede kodestykker - PEAR ('P'HP 'E'xtension and 'A'pplication 'R'epository) - meget i stil med CPAN til Perl.

Eksempler på PHP-kode

[[Hello world-program|Hej verden]]

<pre> <?php echo 'Hej verden!'; ?> </pre>

99 Bottles of Beer on the Wall

<pre> <html> <head><title>99 Bottles of Beer on the Wall</title></head> <body> <h1>99 Bottles of Beer on the Wall</h1> <p> <?php $beer = 99; // Lagre tallet 99 i en variabel. // Så længe variablen $beer er større end 1, kører understående kommando // og repetterer den til $beer ikke længere er større end 1. while($beer > 1) { print($beer.' bottles of beer on the wall, '.$beer.' bottles of beer.<br />'."\r\n"); $beer--; // Træk 1 fra $beer (genvej for $beer = $beer - 1;) } ?> 1 bottle of beer on the wall, 1 bottle of beer.<br /> No more bottles of beer on the wall.<br /><br /> No more bottles of beer...<br /> Go to the store and buy some more...<br /> 99 bottles of beer. </p> </body> </html> </pre>

Kodeordsbeskyttelse af information

<pre> <html> <head><title>Log ind med kodeord</title></head> <body> <h1>Kodeord:</h1> <form action="<?php echo basename(__file__); ?>" method="post"> <div> <input type="password" name="passinput"> <input type="submit" name="ok" value="Log ind"> </div> </form> <?php $kodeord = "hemmelig"; // Vi lagrer kodeordet "hemmelig" i en variabel /* her tjekker vi at brugeren har skrevet et kodeord, samt at det matcher kodeordet lagret i variabelen $kodeord */ if(isset($_POST['passinput']) && $_POST['passinput'] == $kodeord) { print '<strong>Du skrev det rigtige kodeord!</strong></p> Dette er hemmelig information som kun indloggede personer kan få at se.'; } else { print '<strong>Du må skrive det rigtige kodeord for at læse denne fil</strong>'; } ?> </body> </html> </pre>

Eksterne kilder/henvisninger

*[http://www.php.net/ Den officielle PHP-hjemmeside] *[http://www.php.net/manual/en/ Den officielle engelske PHP-manual] *[http://www.chbs.dk/kurser/php/ Frit PHP-kursus] - dansk kursusmateriale. *[http://pear.php.net/ PEAR - PHP Extension and Application Repository] *[http://groups.google.ch/group/comp.infosystems.www.authoring.cgi/msg/cc7d43454d64d133?oe=UTF-8&output=gplain Rasmus Lerdorfs annoncering af PHP i nyhedsgruppen comp.infosystems.www.authoring]. *[http://www.meandeviation.com/tutorials/learnphp/php-syntax-check/syntax-check.php/ PHP Syntax Tester] - Læser din kildekode igennem og viser dig eventuelle syntax fejl.