Dokumentation

PHP Web Development

PHP-Logo

Wichtige Links

PHP Dokumentation

Programming Standard Recommendations

Packagist

Einleitung

PHP ist ein serverseitiger Text-Interpreter, der PHP-Code kompiliert und als Text, zum Beispiel in Form von HTML ausgibt. PHP-Code wird mit einem PHP-Tag gekennzeichnet:

<?php
    // Quellcode
?>

Folgt nach dem PHP-Quellcode kein HTML mehr, kann das schließende Tag weggelassen werden.

Dateiendungen

PHP-Dateien sollten die Endung .php aufweisen, damit der PHP-Interpreter den Quellcode verarbeiten kann. Der Einstiegspunkt der Webanwendung ist demnach index.php (ohne PHP ist es sonst index.html).

Allerdings kannst du hier auch tricksen. Schau dir mal die URL dieser Website an. Ist dir aufgefallen, dass hier nicht auf eine .php-Datei, sondern auf eine Markdowndatei (_index.md) verwiesen wird? Tatsächlich sieht es so aus. Jedoch habe ich den Webserver so eingestellt, dass der Pfad als Parameter an die index.php übergeben wird:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !^.*\.(jpg|css|js|gif|png|otf|svg|woff|woff2)$ [NC]
RewriteRule ^(.*)$ index.php?file=$1 [L,QSA]

Die obige Konfiguration würde am Beispiel der aktuellen URL also Folgendes ausgeben:

https://it.treptowkolleg.de/index.php?file=docs/php/_index.md

Die index.php verarbeitet den GET-Request dann, um die entsprechende Dokumentation auszugeben:

<?php

// Standarddatei zuweisen
$md = file_get_contents("./README.md");

// Request überprüfen und ggf. neue Datei zuweisen
if (isset($_GET['file']) and !empty($_GET['file']) ) {
    if(file_exists($file = './'. $_GET['file'])) {
        $md = file_get_contents($file );
    }
}

// Markdown parsen und ausgeben
$mdParser->text($md);

Warum nun eigentlich Markdown? Dieses Format wird für Dokumentationen auf Github verwendet. So kann ich mit einer Dokumentationsdatei gleichzeitig die Inhalte auf Github und hier aktualisieren.

Das Repository dieser Website ist nämlich auch auf Github gehostet.

Mitglied in