For some years now, I have been using Laravel Homestead to quickly build up a virtual machine with all I needed installed. But it seems to not quite get the love it needs, and I’m wondering if folks have moved on to a different environment or tool for their development.
The industry by and large have moved on to containers, with docker being the entry point and eventually graduating to something larger and more orchestrated like k8s.
You’d generally use a publisher container (I.e. php:latest), and then volume mount your code into it for development, and eventually baking your own image for deployment. Be mindful to not include secrets (API keys, passwords, etc.) and inject them via environment variables.
For development, I just run node on my system. I use a library called Nymph.js (that I developed) that runs on SQLite in development, then either MySQL or Postgres in production. It’s nice because I can sync my dev db with rsync when I need to test on a cloud machine, and db backups are really small and easy to manage (literally just copying a few files).