Zum 47. Treffen der PHPUG war eigentlich ein Vortrag von Tom zum Build-Stack von n98-magerun geplant. Leider erkrankte dieser. Als Ersatz hatten wir an diesem Abend eine Übersicht zu Tools Rund um Webapis eingeplant. Da wir sonst keinen Vortrag hatten wurde der Rest des Abends improvisiert. Das machte aber nichts. Nachfolgend eine Übersicht der Themen inkl. der Ressourcen.
Swagger
Swagger ist ein nicht ganz neues Toolset um REST-Schnittstellen zu beschreiben. Es werden folgende Tools angeboten:
Ich selbst hatte diese Woche bereits im dev98.de Blog zum Thema „Magento 2 API Generierung“ gebloggt. An diesem Abend konnte ich den generierten Magento 2 API Client einmal vorstellen. Thorsten Essig hatte bereits Erfahrung mit der Generierung eines GO-Servers gemacht. Da wird Lust auf die Erkundung der Funktionen des Codegen Tools hatten wurde kurzerhand ein Server für PHP-Silex und GO generiert.
RAML
RAML ist ähnlich zu Swagger. Es scheint aber etwas mehr „Enterprise“ zu sein. Es wird auch ein „Drag & Drop“ Tool geboten.
API Blueprint
API Blueprint bietet ebenfalls eine Liste von Tools zur Arbeit mit Webapis. Interessant ist an dieser Stelle auch das Symfony Bundle von Nelmio.
- https://apiblueprint.org/tools.html
- https://leanpub.com/build-apis-you-wont-hate
- https://github.com/nelmio/NelmioApiDocBundle/blob/master/Resources/doc/index.rst
Postman und PAW
Zur Arbeit mit den REST Schnittstellen benötigt man das richtige Werkzeug. Postman ist plattformunabhängig und kann standalone oder im Chrome als Extension installiert werden.
- https://www.getpostman.com/docs/
- https://www.youtube.com/watch?v=jBjXVrS8nXs&list=PLM-7VG-sgbtD8qBnGeQM5nvlpqB_ktaLZ
PAW ist eine Mac-App die nicht nur hübsch anzuschauen ist:
JSON API
Wer selbst REST-Schnittstellen konzipiert kann dazu den JSON-API Standard nutzen. Seit kurzer Zeit ist dieser als V1.0 verfügbar. Für PHP kann die Neomerx Bibliothek empfohlen werden.
Phil Sturgeon
Domain Switcher Chrome Extension
Alexander Menk stellte einen Fork der Chrome Extension „Domain Switcher“ vor. Das Tool wurde um Templates erweitert.
Composer Consolidation
Wer seine Tools über Composer global installiert bekommt schnell Bekanntschaft mit Paketkonflikten. Hierzu gibt es das „Consolidation“ Projekt. Einzelne Composer Anwendungen werden wie Container einzeln abgelegt.
Composer scripts —dev
Composer unterstützt von Haus aus keine Skripte die nur im „—dev“ Modus laufen. Dazu gibt es dieses Composer Plugin.
Patreon
Etwas „Off-Topic“ war das Thema „Patreon“. Hierbei handelt es sich um eine Plattform auf der Künstler Geld für ihre Projekte einsammeln können. Auch Open Source Entwickler tummeln sich hier:
Fazit
Auf ohne größere ausgearbeitete Vorträge hatten wir an diesem Abend genug Stoff für Diskussionen. Der Wissensaustausch hat wieder viel Spaß gemacht.