“Back in the early days of WordPress development… I could only have one system on my local computer.”
— Cal Evans
In this developer-oriented conversation for Post Status Excerpt, David talks about WordPress development with Cal Evans. Cal explains the basics of Docker and Lando — as well as the advantages of using them. Docker is an open platform for developing, shipping, and running applications. It can work with Lando to automate your development workflow.
Why This Matters: Developers — both individually and in teams — are building more complex applications with (and for) WordPress, so the software stack is getting more complex. How you setup your environment (local, cloud, or both) is becoming more important, and developers should educate themselves on the available options — especially with popular choices being explored by PHP developers.
Every week Post Status Excerpt will bring you important news and insights from guests working in the WordPress space. 🎙️
You can listen to past episodes of The Excerpt, browse all our podcasts, and don’t forget to subscribe on Spotify, Amazon Music, Google Podcasts, iTunes, Castro, YouTube, Stitcher, Player.fm, Pocket Casts, Simplecast, or by RSS. 🎧
I agree with Cal that Lando is really awesome for plugin development. I added it to my plugin repo, and it makes it a breeze to create a development webserver with the plugin installed, symlinking to the source files (so that modifying the source reflects the changes immediately in the plugin), and supporting XDebug out of the box. And one really great thing is that it assigns an external IP to the database, so I can query the DB using MySQLWorkbench (which I haven’t seen when using other Docker-based systems).
My lando config is: https://github.com/leoloso/PoP/blob/master/webservers/graphql-api-for-wp/.lando.yml
I added scripts in my composer.json to operate with it: https://github.com/leoloso/PoP/blob/master/composer.json#L583-L591
Then, to initialize the DEV server, I just execute `composer start-server`: https://github.com/leoloso/PoP/blob/master/docs/development-environment.md#starting-the-lando-webserver
It makes it easy to share the set-up with contributors to open source projects, so that everything is automated.