Gå direkt till innehållet

FYSIKUMS WEBB- OCH MEDIAKURSER

PHP är ett exempel på servertolkad inbäddad kod

Tekniken PHP är ett av många exempel på s.k. servertolkad kod (eng. server parsed code) eller inbäddad kod (eng. embedded code). Grundidén är enkel men mycket kraftfull. Serveradministratören börjar med att installera en extra komponent till webbservern, en s.k. skripttolk, i vårt fall en PHP-tolk, som kan tolka PHP-kod och översätta koden till HTML-kod. Tolken är vanligtvis en integrerad del av webbservern och laddas i minnet när servern startas. I webbservern Apache, som vi använder oss av i Fysikums kurser, laddas PHP-tolken in i servern som dynamisk (DSO-)modul.

Webbplatsutvecklaren skapar sedan vanliga webbsidor med HTML-kod (och eventuellt stilmallar, javaskript eller andra klientsidestekniker). Infogad mellan vanlig HTML-kod placeras sedan speciell PHP-kod. Koden kan t.ex vara för att hantera indata från ett formulär, för att infoga en extern fil eller för att anropa en databasserver, för att bara nämna några tillämpningar av PHP.

När sedan slutligen en PHP-kompletterad webbsida efterfrågas av en surfare på vår webbplats märker servern av att webbsidefilen innehåller PHP-kod. Filen skickas därför först vidare till skripttolken för bearbetning innan resultatet returneras till surfarens webbläsare, där HTML-koden tolkas och översätts till en snygg webbsida i webbläsarfönstret.

Alltså: webbsidans fil på serverdisken innehåller en blandning av HTML-kod och PHP-kod. Den webbsida som slutligen skickas tillbaka till webbläsaren innehåller bara ren HTML, en del statiskt handkodad från filen, resten dynamiskt skapad genom tolkningen av PHP-koden. Så här ser tolkningsproceduren ut, schematiskt:

  1. En HTTP-förfrågan om en webbsida skickas till webbservern.
  2. Servern hämtar den efterfrågade filen från dokumentrotkatalogen på hårddisken.
  3. Servern upptäcker att filen innehåller inbäddad PHP-kod, och skickar filen vidare för behandling till PHP-tolken.
  4. PHP-tolken bearbetar den inbäddade koden, som resultetar i ren HTML-kod som infogas bland den ursprungliga HTML-koden.
  5. PHP-tolken skickar resultatfilen med endast HTML-kod till servern.

Hur vet servern att en viss fil innehåller PHP-kod som måste bearbetas? Det finns flera metoder för detta, och en vanlig är att ge PHP-kodade filer en särskild filnamnsändelse, .php i stället för .html. Varje gång servern får en förfrågan efter en .html-fil skickas den direkt till webbläsaren, men kommer en förfrågan efter en .php-fil skickas den först till PHP-tolken för bearbetning.

PHP har lånat mycket från andra programmeringsspråk

Som skriptspråk betraktat har PHP ett gott rykte för att vara lätt att lära sig och arbeta med. Detta har varit en medveten designstrategi från språkutvecklarnas sida. Att det är enkelt att arbeta med betyder däremot inte att språket skulle vara simpelt eller fattigt på funktioner - tvärtom! PHP är, som så många andra öppenkällkodssystem, en seriös konkurrent till kommersiellt framtagna webbskriptspråk som Microsofts ASP, Macromedias CFML och Suns JSP (och det är egentligen bara JSP som är bättre än PHP för riktigt tunga och krävande tillämpningar).

Om du har programmerat tidigare i språk som c/c++ eller Java (och andra programmeringsspråk i Pascal-traditionen) kommer du känna igen det mesta av de centrala språkstrukturerna i PHP, eftersom dessa många gånger medvetet har kopierats från dessa förebilder bland programmeringsspråk. Skillnaderna mot program i BASIC-traditionen, bl.a VisualBasic, är väl lite större, men inte värre än att det snabbt går att förstå hur man gör i PHP.

Sättet att hämta och skicka data till omgivande program kan däremot kännas lite ovant för den som är van vid andra programmiljöer, t.ex ASP, men i min mening är PHP:s sätt att hantera in- och utdata smidigare än ASP:s lösning (som vanligt är detta en smakfråga).

Något som PHP länge har saknat och som nu börjar åtgärdas i version 5 av språket är stöd för objektorienterad programmering, centralt i skriptspråk som t.ex JSP. För de allra flesta webbprogrammeringsuppgifter kan man dock skapa alldeles tillräckliga lösningar med vanliga programmeringstekniker (om än inte lika eleganta som med OOP).

PHP blir alltmer populärt

Kort sagt: PHP är ett fenomenalt skriptspråk för alla webbutvecklare, från nybörjare (som snabbt kommer in i arbetssättet) till avancerade programmerare (som har en massa godis att leka med, mer för varje ny version av språket). Så kom med du med och bli en PHP-utvecklare! Vi börjar lite lätt med några inledande exempel och forstätter sedan systematiskt med att bekanta oss med språket och dess många möjligheter.

FORTSÄTT

kodvalidering:
tester:
HTTP-data:
sidstruktur:
resurser:
välj stilmall:
välj typsnitt:

Senast uppdaterad 21 april 2007