PHP
Fra NotatWiki
PHP er et rekursivt akronym for PHP Hypertext Preprocessor. PHP er et open source-programmeringssprog, der primært anvendes på webservere til at generere dynamisk indhold på websider. PHP blev oprindeligt udviklet af dansk-canadieren Rasmus Lerdorf.
PHP benyttes blandt andet af til generering af NotatWikis websider, hvor den samlede PHP-løsning hedder MediaWiki.
PHP kan også bruges til andre formål end at skabe 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.
[rediger] Sprogets struktur
En af de store fordele ved at bruge php til websider med dynamisk indhold er at der er 100% frihed til at blande PHP og HTML sammen. Nedenstående kodefragment viser hvordan fortolkeren kan springe fra det ene sprog til det andet.
<?php if( $this->data['language_urls'] ) {foreach($this->data['language_urls'] as $langlink) { ?>
<link title="<?php echo $langlink['text'] ?> version"
rel="alternate"
xml:lang="<?php echo $langlink['language_code'] ?>"
resource="<?php echo $langlink['href'] ?>" />
<?php } } ?>
Dette eksempel viser flere at de features der er med til at gøre PHP til et stærkt sprog
- Indlejring
- PHP koden er indeholdt i
<?php ... ?>. Den omgivende HTML kode kopieres ubehandlet af fortolkeren til det endelige output. HTML der er indeholdt i en løkke konstruktion kopieres for hvert løkkegennemløb. - Key-value objekter
$this->data['language_urls']og$langlinker eksempler på den konstruktion der i PHP lidt misvisende kaldes arrays.$this->data['language_urls'], kan indeholde et eller flere objekter, der i dette tilfælde også er key-value stores.- Iteratorer
foreachiteratoren kalder den efterfølgende kodeblok for hver forekomst af et'language_urls'objekt i den omgivende datastruktur. Iteratoren sørger for at$langlinkindeholder den korrekte værdi for hvert gennemløb.
[rediger] Syntax
PHP har en syntax der er lånt fra programmeringssprogene C, Java og Perl. Derudover er der nogle konstruktioner der er unikke for PHP. Det er derfor svært at sætte sproget i bås, ikke mindst fordi der er mere end en måde at gøre tingene på. I den seneste version af PHP, version 5, er der kommet en række stærke objektorienterede features ind i sproget. PHP kan derfor siges at være ved at bevæge sige mere i retning af Java, uden at det dog forhindrer afviklingen af PHP scripts skrevet til tidligere versioner.

