Templatesystem

Hallo ich bearbeite zurzeit ein Tutorial über Templatesysteme in php durch und habe zurzeit ein blackout ich kapiere diesen skript nicht kann ihn mir vllt. einer freundlicher Weise erläutern.

[PHP]<?php $ret = 1; // speichert den rückgabewert von include, standardwert 1 if (isset($_GET['section'], $dateien[$_GET['section']])) { if (file_exists('includes/'.$dateien[$_GET['section']])) { $ret = include 'includes/'.$dateien[$_GET['section']]; } else { $ret = "Include-Datei konnte nicht geladen werden: 'includes/".$dateien[$_GET['section']]."'"; } } else { // default bereich laden, news $ret = include 'includes/'.$dateien['news']; } ?>

[/PHP]

Mfg

skype90

In dem Feld $dateien werden Section-Namen Dateien zugeordnet, die eingebunden werden sollen, wenn eine entsprechende Section als GET-Feld angegeben wird. $dateien legt also fest, welche Werte für $_GET[‚section‘] zulässig sind, also welche Unterseiten existieren.

Der Inhalt einer Zeile dieses Arrays könnte zum Beispiel so aussehen:

$dateien['blog'] = 'blog.php';

Der Code prüft dann, ob $_GET[‚section‘] gesetzt ist und ob in $dateien ein Schlüssel/Index existiert, der dem Wert von $_GET[‚section‘] entspricht. (Es könnte schließlich jemand die Angabe in der URL manipulieren und zum Beispiel einfach ?section=blabla schreiben.) Falls all das zutrifft und falls die dem Section-Namen in $dateien zugeordnete Datei auch tatsächlich existiert, wird sie eingebunden. Ansonsten wird entweder eine Fehlermeldung ausgegeben oder – wenn $_GET[‚section‘] gar nicht gesetzt ist – eine Standardseite (hier news).

hmm ich kapier diese varriable nicht in so einer art kombination habe ich sie noch nie gesehen
$dateien[$_GET[‚section‘]]

Der Inhalt von $_GET[‚section‘] (ein String) wird als Index für das assoziative Array $dateien verwendet.

Wenn $_GET[‚section‘] den Inhalt „blog“ hat, wird also der Wert von $dateien[‚blog‘] abgerufen.

Dann würde ich dir aber empfehlen, dich dringend mit der Syntax von PHP vertrauter zu machen.

Hier wäre wohl dieser Link angebracht:
PHP: Ausdrücke - Manual

Auch ein wichtiges Detail das hier erwähnt wird, dass auch eine Zuweisung, die wenn man sie zusammengefasst ansieht ja aus zwei Ausdrücken besteht, also lvalue und rvalue, als ganzes ebenfalls eine expression, also ein Ausdruck ist, und den Wert des rvalues repräsentiert.