Schlagwort:
PHP

XSLT in PHP mit Namensräumen

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 […]

Allow Origin Header für mehrere Domains setzen

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 […]

Gibt es Backlinks zu einer Seite auf Wikipedia?

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 = […]

PHP Script zeitgesteuert unter Windows mit dem Aufgabenplaner ausführen

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 – […]

Liste von PHP Bibliotheken

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 […]

Whitelist Filter mit PHP filter_var

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 Beispiel in JQuery und in Vanilla JavaScript

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 […]

Dependency Injection – Beispiel in PHP

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 […]

Cross Domain

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 […]

Objekte in $_SESSION – Vermeiden von __PHP_Incomplete_Class

Ansich ist das Vorgehen ein Objekt in $_SESSION zu speichern eine tolle Idee. session_start(); require_once( ‘ClassFile.php’ ); $o = new ClassFile (); $_SESSION[‘model’] = $o; Man kann damit ein serialisiertes PHP – Objekt einfach per Sessionvariable über Requests hinweg mitführen und bei Bedarf das Objekt wieder auslesen: if (isset ($_SESSION[‘model’]) && is_a($_SESSION[‘model’], ‘ClassFile’)) $o_new = […]