Home  PHP Projekte  PHP Schulung  Informationsquellen  Geschichte  Core PHP  Fortgeschrittenes PHP  Templates  Was?  Motivation  Klassifizierung  Testvorlage  Keine Templates  HTML: Fragmente  E-Mail  PHPLib  IT[X]  Cache-Technologien  OOH Forms  Technik der Site  Büchertipps  Fotografie  Airbrush  Kontakt  Stuff 
|
Header/Footer
Das klassische Pattern zur einheitlichen Gestaltung einer
Internetpräsentation beruht auf der Beobachtung, daß viele Webseiten auf
aus wenigen Fragmenten zusammengesetzt sind. So ist oft
der eigentliche Inhalt einer Webseite von einem Kopf und einem Fuß umschlossen.
Im Beispiel werden zwei Dateien "header.php" und "footer.php" verwendet.
"header.php" enthält den HTML- und PHP-Code bis zur Content-Spalte,
"footer.php" den Code nach der Content-Spalte.
| header.php |
Top |
|
<html>
<head>
<title>ulf-wendel.de: Template-Schulung</title>
<?php
$db = new DB_Example();
$db->query(sprintf('select keywords from keywordlist where page = "%s"',
addslashes($PHP_SELF)
)
);
$db->Next_Record();
?>
<meta name="Keywords" content="<?php $db->f('keywords'); ?>">
</head>
<body>
<table width="100%" cellspacing="0" cellpadding="0">
<tr bgcolor="#D0D0D0">
<td colspan="2"> </td>
<td align="right" valign="top">
<?php
if (!isset($_SESSION['user'])) {
// User unbekannt, Loginformular ausgeben
// ...
} else {
// User eingeloggt
print 'Hallo, ' . $_SESSION['user']['benutzername'];
}
?>
</td>
</tr>
<tr>
<td bgcolor="#D0D0D0">
<br />
<?php
$m = new Menu3();
$m->show('tree');
?>
<br>
<?php print date('d.m.Y', time()); ?>
</td>
<td> </td>
<td>
|
| footer.php |
Top |
|
</td>
</tr>
</table>
</body>
</html>
|
Die Fragmente werden mit mit require_once() (include(), include_once(), require())
in die eigentliche Webseite eingebunden. Jede dergestalt aufgebaute Seite verfügt
über ein einheitliches Grundlayout.
| header.php/footer.php |
Top |
|
<?php
require_once('header.php');
// PHPLib Datenbank Objekt zur Abfrage der Tabelle News
$db = new DB_Example();
?>
<br />
<h1>Willkommen auf unserer Internetseite</h1>
<?php
$db->query('select headline, datum, nachricht from news order by id limit 5');
while ($db->Next_Record()) {
?>
<p>
<h2><?php $db->p('headline'); ?></h2>
<?php $db->p('datum'); ?><br />
<?php $db->p('nachricht') ?>
</p>
<?php
} // end while $db->Next_Record()
require_once('footer.php');
?>
|
Eine weitere Verfeinerung der Anwendung besteht in der Eintragung von "header.php"
und "footer.php" inden Konfigurationsparametern
auto_prepend sowie auto_append der php[3].ini-Datei.
Dieses klassische Pattern ist besonders gut für Intranet- und
Backend-Applikationen geeignet, die nur geringe Ansprüche an
das Layout stellen. Die Technik ist hochperformant.
< ^ >
|