PHP Stylesheet CSS

Wie bereits in den 5 Tipps für eine schnellere Webseite beschrieben sollte man soviel Code wie möglich in die CSS Datei auslagern. CSS Dateien haben, genauso wie HTML nur einen Nachteil, man kann keine Logik implementieren. In PHP ist dies jedoch möglich. Außerdem kann PHP so tun als sei es CSS.

<?php
header( "Content-Type: text/css" );
...
?>

In HTML wird es wie eine CSS Datei eingebunden.

<link rel="stylesheet" type="text/css" href="templates/style.php" />

Manche Kunden möchten gerne das jede Kategorie eine andere Farbe hat. Bevor man jetzt anfängt 10 verschiedene Stylesheet Dateien anzulegen, wäre es einfacher jedes Design in ein anderen Ordner zu legen und diesen per GET zu übergeben.

<link rel="stylesheet" type="text/css" href="templates/stylesheet.css" />
<link rel="stylesheet" type="text/css" href="templates/style.php?c=img%2Fde%2Fstandard" />

Um das Stylesheet übersichtlich zu gestalten, sollte man wirklich nur den Dynamischen Teil in eine PHP CSS Datei auslagern. Die untere CSS Datei würde wie folgt aussehen:

<?php
header( "Content-Type: text/css" );
$p = rawurldecode($_GET&#91;'c'&#93;)."/";
?>

/* NUR FUER FARBEN UND HINTERGRUENDE */
/* DER REST ALLES IN STYLESHEET.CSS */

/* KOPF */

#kopf {
	background-image:url(<?php echo($p); ?>kopf/header_start.jpg); 
	background-repeat:no-repeat;
	height: 220px;
}

In der Codevorschau ist dieses Beispiel sehr bunt. Wer jedoch solche Dateien mit VI bzw. VIM erstellt, wird jedoch enttäuscht werden, weil der Editor das Syntaxhighliting aufgrund der Dateiendung entscheidet. Dies kann man jedoch manuell auf CSS umschalten. Danach ist der PHP Code zwar schwarz, aber die Datei sollte auch hauptsächlich aus CSS bestehen.

Wer in seinem VIM-Menü verzweifelt nach CSS sucht, wird unter Cascading Style Sheets fündig.

Leave a Reply

Your email address will not be published. Required fields are marked *