Mod Rewrite - PHP Funktion zum herrausfiltern von ...
Suchmaschinen-freundliche-URLs sind heute gang und gäbe. Jedoch habe ich schon einige Seiten gesehen, in denen auch Sonderzeichen unformatiert in die URL übergeben werden. Aus diesem Grund möchte ich euch heute meine “Mini-Funktion” an die Hand geben, ich setzte seit einiger Zeit drauf und hatte bis jetzt auch keine Probleme damit gehabt.
<?php
/**
* Sonderzeichen entfernen
*
*/
function mod_rewrite($var)
{
$var = trim($var);
$var = str_replace(” ”, ” “, $var);
$var = str_replace(” “, “_”, $var);
$var = str_replace(array(”ä”, “ä”, “Ä”), “ae”, $var);
$var = str_replace(array(”ö”, “ö”, “Ö”), “oe”, $var);
$var = str_replace(array(”ü”, “ü”, “Ü”), “ue”, $var);
$var = str_replace(array(”ß”, “ß”), “ss”, $var);return preg_replace(”/[^a-zA-Z0-9_-]/”, “-”, $var);
}//Funktionsweise
$ueberschrift = ‘Das ist eine Testüberschrift’;
echo mod_rewrite($ueberschrift); //ergibt: Das-ist-eine-Testueberschrift?>
Die Funktion ist zwar schlicht und einfach, aber deswegen - wie ich finde - nicht weniger Wertvoll. Für Anregungen und Kritik bin ich gerne offen.
PHP Singleton und Registry
Warum setzten immer mehr Programmierer auf Singletons und Registry Klassen? Dies möchte ich euch einfach mal kurz und hoffentlich verständlich näher bringen. Ein ganz klarer Vorteil gegenüber einer global verfügbaren Variablen liegt darin, dass sich per Singleton oder Registry die gespeicherten Werte nicht so einfach überschreiben lassen.
Was genau sind Singleton oder Registry-Klassen?
Ein Singleton ist wie der Name schon sagt ein Single ist und somit alleinstehend, was in PHP bedeutet, das man beispielsweise einmal eine Datenbank-Klasse initialisiert und anschließend ist diese Klasse über das Singleton in dem gesamten Script verfügbar.
Eine Registry-Klasse funktioniert im Prinzip ganz ähnlich, hat jedoch beispielsweise den Vorteil, dass sich nicht nur Objekte, sondern auch einfache Variablen speichern und wieder abrufen lassen. Dies ist zum Beispiel eine gute Möglichkeit Einstellungs-Variablen zu speichern, abzurufen und vor dem versehentlichen überschreiben zu schützen.
Wann loht sich eine Registry -Klasse?
Ich würde mir fast die Frechheit erlauben und sagen, dass sich eine Registry-Klasse fast immer lohnt. Mir selbst fällt es damit leichter zu programmieren, weil einfache Fehler wie beispielsweise das überschreiben der Globale Variable nicht mehr möglich sind.
Vorteile in der Übersicht
- klare und saubere Programmierung (OOP)
- leicht verständlicher Code
- keine Suche mehr nach Globalen Variablen-Namen
- Performant
- Ein Schritt in die Professionalität
Beispiele
Ein sehr anschauliches Beispiel findet sich auf der Seite phpbar.de
IP-Adresse anzeigen
Da viele Besucher über „IP-Adresse anzeigen“ zu uns kommen aber nicht das finden was sie suchen werde ich hier einmal kurz Erläutern wie es möglich ist die IP-Adresse eines Benutzers anzuzeigen. In PHP ist das mir nur einer Zeile Code passiert.
echo ‘Deine IP-Adresse lautet ‘ . $_SERVER['REMOTE_ADDR'];
Bist du nur auf der Suche nach deiner IP? Hier klicken!
Letzte Aktualisierung einer Datei anzeigen
Wenn du anzeigen möchtest wann deine Seite zuletzt aktualisiert wurde, kannst du dies auch mittels PHP dynamisch lösen. Mit folgendem Script ist es leicht möglich das genaue Datum und die Uhrzeit zu ermitteln wann eine Datei bearbeitet wurde.
<?php
$letzteAktualisierung = filemtime(basename($_SERVER[‘PHP_SELF‘]));
echo ‘Die Seite wurde das letzte mal am ‘ . date(“d.m.Y H:i“, $letzteAktualisierung) . ‘ aktualisiert.‘;
?>
Nun zur Erläuterung der einzelnen Bausteine. Mittels filemtime ermittelt man das Datum und die Uhrzeit der letzten Änderung an einer Datei. Um den Pfad und den Dateinamen zu erhalten verwenden wir nun basename in Verbindung mit $_SERVER[‘PHP_SELF‘].
Zu guter letzt müssen wir das Datum noch formatiert ausgeben, hierzu benutzen wir die Funktion date.



