Linkweb-PHP-Script

In einem kleinen Praxisbeispiel greifen wir auf das Linkweb-Beispiel zurück. Dort haben wir bereits gesehen, wie sich PHP-Code bei größeren Projekten sinnvoll auf mehrere Scripts verteilen lässt. Dies wollen wir nun auch im Zusammenhang mit Klassen und Objekten demonstrieren.

Das Beispiel besteht aus folgenden PHP-Scripts:

  • linkweb.php: das zentrale Script, das auch im Browser aufgerufen wird (hier vorgestellt).
  • class.template.php: Script mit der Klasse "Template" für HTML-Templates.
  • class.error.php: Script mit Klasse "Error" zur Ausgabe von Fehlermeldungen.
  • class.page.php: Script mit Klasse "Page" zum Zusammenkleben einer Seite aus Template und Inhalt.

Die übrigen Dateien für Templates, Inhaltsdateien und CSS-Datei bleiben wie gehabt. Zunächst der Quelltext des zentralen Scripts:

<?php
include_once("class.template.php");
include_once("class.page.php");
$main_template = new Template;
$main_page = new Page;
 
$content_files = array();
$content_files['home'] = "0001.txt";
$content_files['impressum'] = "0007.txt";
$content_files['themen'] = "0003.txt";
$content_files['branchen'] = "0009.txt";
$content_files['auskunft'] = "0005.txt";
$content_files['geo'] = "0002.txt";
$content_files['wissen'] = "0004.txt";
$content_files['literatur'] = "0008.txt";
$content_files['lexika'] = "0006.txt";
$content_files['glossare'] = "0010.txt";
$content_files['wikis'] = "0014.txt";
$content_files['ftp'] = "0011.txt";
$content_files['wais'] = "0015.txt";
$content_files['newsgroups'] = "0012.txt";
$content_files['foren'] = "0013.txt";
 
if(isset($_GET['page']))
   $get_page = $_GET['page'];
else
   $get_page = 'home';
$main_template->template_file = "linkweb.tpl";
$main_page->page_content = $main_template->get_template();
$main_page->set_var('content', 
            file_get_contents($content_files[$get_page]));
$main_page->set_var('title', $main_page->get_title());
$main_page->show_page();
exit();
?>
page_revision: 1, last_edited: 1209235309|%e %b %Y, %H:%M %Z (%O ago)