Flight – Microframework für PHP

Auf der Suche nach einer Möglichkeit eine REST-Api auf die Beine zu stellen, hatte ich mich mit einigen PHP-Microframeworks wie Slim oder Fat-Free beschäftigt. Hängen geblieben bin ich Schlussendlich bei Flight. Eine minimale REST-Api sieht dabei so aus:

require 'flight/Flight.php';

Flight::route('GET /', function(){
    echo 'hello world!';
});

Flight::start();

Flight besticht dabei durch seinen Umfang und die einfache Nutzbarkeit. Die Dokumentation ist schnell gelesen und so kann schon nach wenigen Minuten produktiv entwickelt werden. Flight ist unter der MIT-Lizenz lizenziert und damit freie Sofware. Der Quelltext ist auf GitHub, die offizielle Webseite unter flightphp.com zu finden.

The Right Way

Bücher über PHP-Entwicklung gibt es wie Sand am Mehr. Bücher an denen man mitarbeiten kann allerdings weniger. Zu dieser Klasse von Büchern gehört PHP – The Right Way, deren Quelltext auf GitHub zu finden ist. In dem Buch geht es dabei nicht nur um die Sprache PHP als solches, sondern auch um die Entwicklungsumgebung, Sicherheit und andere Themen.

Die deutsche Version von PHP - The Right Way.

Die deutsche Version von PHP – The Right Way.

Neben der englischen Originalversion gibt es auch eine ganze Reihe von Übersetzungen. Während es sich bei den Versionen bis zum 10. Juli 2012 noch um eine freie Version unter MIT-Lizenz handelte, wird mittlerweile die deutliche restriktivere Creative Commons Lizenz BY-NC-SA genutzt. Diese schließt eine kommerzielle Nutzung aus. Die offizielle Seite ist unter phptherightway.com zu finden.

REST-API Framework für PHP

Wer eine REST– bzw. eine RESTful-API entwickeln möchte, der kann natürlich das Rad neu erfinden und die komplette API von Grund auf entwickeln. Einfacher wird es wenn man ein bestehendes Framework nutzt. Für diesen Zweck bietet sich unter PHP Restler an. Mit Hilfe dieses Frameworks lassen sich vollwertige REST-APIs innerhalb weniger Stunden entwickeln. So unterstützt Restler unter anderem unterschiedliche Ausgabeformate wie JSON, XML oder YAML. Abgerundet wird das Paket durch eine ausführliche Dokumentation und sehr viele gut dokumentierte Beispiele.

luracast.com/products/restler

luracast.com/products/restler

Restler ist unter der LGPL lizenziert und somit freie Software. Die offizielle Webseite ist mit hilfreichen Informationen gespickt, während der Quelltext auf GitHub zu finden ist.

„Read it later“-Dienst in freier Form

In den letzten Jahren sind sie aus dem Boden geschossen, sogenannte „Read it later“-Dienste. Diese Dienste speichern dabei Artikel welche man erst später lesen möchte. Möglich wird dies durch Bookmarklets, Add-Ons und Apps welche die jeweiligen Artikel zum entsprechenden „Read it later“-Dienst schieben. Mit der freien Software wallabag, welche früher unter dem Namen poche bekannt war, kann man einen solchen Dienst selber hosten.

Die Login-Seite von wallabag

Die Login-Seite von wallabag

wallabag setzt auf PHP auf und ist unter der „DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE“ lizensiert, und damit freie Software, wie man dem Lizenztext entnehmen kann:

            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
                    Version 2, December 2004

 Copyright (C) 2004 Sam Hocevar <>

 Everyone is permitted to copy and distribute verbatim or modified
 copies of this license document, and changing it is allowed as long
 as the name is changed.

            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. You just DO WHAT THE FUCK YOU WANT TO.

Wichtig ist nur das der Name der Applikation geändert wird, wenn man diese forken möchte. wallabag kann auf der offiziellen Seite des Projektes unter www.wallabag.org bezogen werden.

Testdaten unter PHP erzeugen

Wenn man eine PHP-Applikation schreibt, welche in irgendeiner Form mit Daten hantiert, so fehlen einem bei der Entwicklung meist plausible Testdaten. An dieser Stelle springt die Bibliothek Faker ein. Mit dieser Bibliothek ist es möglich die unterschiedlichsten Daten zu erzeugen. Ein Minimalbeispiel würde dabei so aussehen:

require_once '/path/to/Faker/src/autoload.php';
$faker = Faker\Factory::create();
echo $faker->name; //Erzeugt einen Namen

Möglich wird dies durch die unterschiedlichsten Provider welche angefangen bei Lorem Ipsum über Mailadressen bis Datumsangaben und Hashes alles liefern was das Herz begehrt. Die Bibliothek selbst steht unter der MIT-Lizenz und ist somit freie Software. Zu finden ist Faker in einem GitHub Repository.