A talk by Tom about the build stack of n98-magerun was originally planned for the 47th PHPUG meeting. Unfortunately, he fell ill. As a replacement, we planned an overview of tools around web APIs for that evening. Since we did not have any other talks, the rest of the evening was improvised. But that was no problem. Below is an overview of the topics, including the resources.
Swagger
Swagger is a toolset for describing REST interfaces that has been around for a while. The following tools are available:
I had already blogged about “Magento 2 API generation” on the dev98.de blog that week. That evening, I was able to show the generated Magento 2 API client. Thorsten Essig had already gained experience generating a GO server. Since we felt like exploring the Codegen tool's features, we quickly generated a server for PHP-Silex and GO.
RAML
RAML is similar to Swagger. However, it seems a little more “enterprise.” A “drag & drop” tool is also available.
API Blueprint
API Blueprint also offers a list of tools for working with web APIs. Nelmio's Symfony bundle is interesting here as well.
- 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 and PAW
Working with REST interfaces requires the right tools. Postman is platform-independent and can be installed as a standalone application or as a Chrome extension.
- https://www.getpostman.com/docs/
- https://www.youtube.com/watch?v=jBjXVrS8nXs&list=PLM-7VG-sgbtD8qBnGeQM5nvlpqB_ktaLZ
PAW is a Mac app that offers more than just good looks:
JSON API
If you design REST interfaces yourself, you can use the JSON-API standard. Version 1.0 has recently become available. For PHP, the Neomerx library is recommended.
Phil Sturgeon
Domain Switcher Chrome Extension
Alexander Menk presented a fork of the “Domain Switcher” Chrome extension. The tool has been extended with templates.
Composer Consolidation
Anyone who installs their tools globally via Composer will soon become familiar with package conflicts. The “Consolidation” project addresses this. Individual Composer applications are stored separately, like containers.
Composer scripts —dev
Composer does not natively support scripts that run only in “—dev” mode. This Composer plugin provides that functionality.
Patreon
The topic of “Patreon” was a little “off-topic.” It is a platform where artists can collect money for their projects. Open source developers can also be found here:
Conclusion
Even without any major, fully prepared talks, we had plenty of material for discussion that evening. Exchanging knowledge was a lot of fun again.