Mit meinem ersten GitHub Projekt kann man von deutschen Wörtern den Plural (Mehrzahl) oder von einem Wort im Plural den Singular (Einzahl) bilden. Dies kann z.B. für Suchen hilfreich sein, wenn man bei Eingabe eines Wort in der Einzahl auch nach dem Wort in der Mehrzahl suchen will. https://github.com/ulrischa/GermanNumerus Verwendet wird dies wie folgt: Einbinden: […]
Wenn man ein XML Dokument hat und dieses formatiert und lesbar in HTML anzigen will, kann man ein XSL Stylesheet verwenden, dass man mit XSLT in das gewünschte Zielformat transformieren kann. In PHP geht dies recht einfach mit Bordmitteln: Das XML Stylesheet sieht wie folgt aus: Wichtig: Das XML Dokument hat Namensräume definiert. Dabei ist […]
In einem früheren Artikel habe ich schon einiges über Cross-Domain Zugriffe (CORS) geschrieben. Wenn man z.B. einen Webservice anbieten will, hat man meistens einige Domains, denen man den Zugriff über Ajax auf den Dienst genehmigen will. Bei einer Domain setzt man folgenden Header in PHP: header(‘Access-Control-Allow-Origin: http://www.anfragendedomain1.de’); Man kann als zweiten Parameter angeben, ob der […]
Vor allem für die Suchmaschinenoptimierung ist es interessant, ob bei Wikipedia Links auf eine bestimmte Seite gesetzt werden. Die Wikipedia-API bietet viele Möglichkeiten um den Inhalt von Wikipedia-Seiten automatisiert auszuwerten. Mit folgender PHP Funktion kann man diese sogenannten Backlinks einer URL auf Wikipedia finden. function get_wikipedia_backlinks($url, $language=”en”) { $url = preg_replace(“(^https?://)”, “”, $url); $wiki_url = […]
Wahrscheinlich kommt es in der Praxis oft nicht vor, da man bei Linux Cron-Jobs für eine zeitgesteuerte Ausführung eines Programms nutzt, aber ich will dennoch zeigen, wie man zeitgesteuert ein PHP-Programm unter Windows mit dem Aufgabenplaner (Scheduler) ausführen lassen kann. Folgende Ordnerstruktur habe ich angelegt. Die Aufteilung in zwei Dateien wähle ich aus Demogründenden – […]
Folgende Liste von PHP Bibliotheken bzw. Modulen habe ich mit der Zeit zusammengestellt, die einen guten Eindruck machen. Ich habe dabei darauf geschaut, wie sie gepflegt werden, wie verbreitet sie sind und wie die Dokumentation aussieht. Die Liste ist bestimmt nicht vollständig und erhebt auch keinen Anspruch darauf. Assets Assetic https://github.com/kriswallsmith/assetic Bildgrößen ändern / Thumbnail […]
PHP’s filter_var bietet einige vordefinierte Filter zur Inputvalidierung. Gute Praxis und sicher ist auch die Prüfung der Eingaben gegen eine Whitelist – also eine Liste aller erlaubter Werte. Dies ist standardmäßig mit den PHP Filtern nicht möglich. Allerdings kann man über den REGEXP Filter einen Whitelist Filter erstellen. Im Folgenden Beispiel sind str und str2 […]
JSONP ist eine der ältesten Möglichkeiten Daten über verschiedene Domaingrenzen hinweg auszutauschen und die Einschränkungen die bei einem AJAX Request hinsichtlich Same-Origin-Policy bestehen würden zu umgehen. Man braucht auf der Serverseite ein Script, dass JSON Daten mit einem Funktionsaufruf umhüllt. Z.B. müsste statt {some-key:’some-value’} callbackname({some-key:’some-value’}) vom Server zurückgegeben werden. Und diese Antwort wird vom Client […]
Begriffe die man öfters im Zusammenhang mit gutem Softwaredesign hört, ist Inversion of Control und Dependency Injection (DI). Aber was ist das eigentlich? Dependency Injection ist eine Möglichkeit um Inversion of Control zu erreichen – toll und jetzt? Am besten schaut man sich ein Beispiel an: Beispiel ohne Dependency Injection Angenommen wir haben eine Klasse […]
Die Same-Origin-Policy (SOP) stellt einen Sicherheitsmechanismus dar, der verhindert, dass www.a.de auf Ressourcen von www.b.de (z.B. über ein Script im Client) zugreifen kann. Grundsätzlich ist das eine gute Sache. Was aber wenn www.a.de und www.b.de mir gehören und ich bewusst einen Austausch herstellen will? In diesem Fall gibt es einige Möglichkeiten, wobei aber die eine […]