Guide:

Introduksjon til PHP

PHP er per idag det mest kjente, og muligens mest brukte, språket for dynamisk formatering av websider på internett. Det er et språk med mange muligheter, og er noe du bør kunne hvis du driver med seriøs webutvikling. Vi vil her prøve å gi en liten smakebit på språket.

Hello World

Hello World med varianter er sannsynligvis historiens mest implementerte program. Det brukes som regel til å teste om du har fått installert alt korrekt, i tillegg til at du lærer de mest grunnleggende tingene om språket. Så her følger en versjon av "Hello World" for PHP:

<?php
    $skriv = "Hello World";
    echo "<html>\n";
    echo "<head>\n";
    echo "<title>Hello World</title>\n";
    echo "</head>\n";
    echo "<body>\n";
    echo "<p>$skriv</p>\n";
    echo "</body>\n";
    echo "</html>\n";
?>

Om du lagrer dette i filen hello.php og kjører det på en maskin som støtter PHP bør du få et resultat som ligner på dette.

Alternativer

Dette er selvsagt ikke eneste måten å implementere Hello World på. Her kommer et alternativ som bruker en form for syntaks som kalles heredoc på tekststrenger.

<?php
    $skriv = "Hello World";
    echo <<<EOS
<html>
    <head>
        <title>Hello World</title>
    </head>
    <body>
        <p>$skriv</p>
    </body>
</html>
EOS;
?>

Fordelen med denne stilen er det at en kan bruke HTML direkte, i tillegg til at koden får et mye penere utseende. Resultatet kan sees her.

Heredoc

Siden heredoc syntaks ikke er den mest brukte er det kanskje på plass med en liten beskrivelse av hvordan det fungerer. Å starte heredoc er ikke vansklig. Det er bare å skrive <<<navn. All påfølgende kode frem til heredoc avsluttes tolkes som det står. Eneste som endres er at variabler tolkes. Til og med tabeller. Men har du flerdimensjonale tabeller bør du sette dem inn som følger: {$tabell[0][1]}. Dette grunnet at ikke alle versjoner av PHP tolker tabeller inne i tekst likt. En avslutter heredoc ved å skrive navn om igjen, helt på starten av en ny linje.

Et eksempel på heredoc er:

<? $a = array (array ("test"));
$b = 5;

echo <<<EOS
<html>
   <head>
     <title>{$a[0][0]}</title>
   </head>
   <body>Dette er en heredoc test b = $b</body>
</html>
EOS;
?>

Dette skal ende opp i følgende utskrift:

<html>
   <head>
     <title>test</title>
   </head>
   <body>Dette er en heredoc test b = 5</body>
</html>

Det er tre ting som er veldig viktig å få med seg når man benytter seg av heredoc og det er:

  • Ikke skriv noe som helst mer på den linjen du åpner heredoc-en på
  • Alltid avslutt en heredoc seksjon HELT på starten av linja
  • Ikke skriv noe som helst mer enn navnet på heredoc seksjonen du skal avslutte og et semikolon på siste linja
Følger du ikke disse tre retningslinjene kommer du til å få kjørefeil. Men fordelene med heredoc veier enkelt opp for ulempene. Du trenger ikke skrive \" når du trenger dette inne i en tekststreng.

Et lite eksempel som benytter heredoc for å tegne opp et nummerert rutemønster.

<?php
echo <<<HEAD
<html>
   <head>
      <title>Rutemønster</title>
   </head>

   <body>
      <table border="1">
HEAD;
    for ($i = 0; $i < 10; $i++)
    {
       echo <<<ROW
          <tr>

ROW;
       for ($j = 0; $j < 10; $j++)
       {
          $cell = <<<CELL
             <td name="$i$j">[$i, $j]</td>

CELL;
          echo $cell;
       }
       echo "<tr>\n";
    }

echo <<<END
       </table>
    </body>
</html>
END;
?>

Resultatet av dette kan du se her.