Shiphp The PHP Developer's Guide to Docker

Latest Blog Posts

Running SQLite in PHP with Docker

SQLite is a great database for getting started on small projects. Unlike traditional SQL databases (like MySQL or Postgres), SQLite stores all your records in a single flat file that you can easily edit, transfer, or even check into version control (if your project warrants it). Another great feature of SQLite is that it’s built into the defaul... Read more

Testing Your Code with Multiple Versions of PHP Using Docker

About a year ago, I spent some time working with an open source project called PHP Crud API. The project creates a RESTful API from a relational database using a single PHP script. It’s quite an impressive feat of engineering, but as I started working on the project, I realized I needed a reliable way to test my changes in different versions of ... Read more

Class Property and Method Visibility in PHP

Have you ever been confused by the difference between “private” and “protected” properties in PHP? Do you have to declare all your properties as “public”? What would you use a “private” method for? If you’ve ever had questions about method or property visibility in PHP, read on. I hope this post will improve your understanding of Classes in ... Read more

Interview with Shipyard's Creator, Italo Baeza

Over the past month, I’ve been talking to other developers who work with PHP and Docker about the tools and resources they use to make managing Docker easier. This week, I’m sharing a short interview with Italo Baeza, the creator of Laravel Shipyard, an open source project that helps Laravel developers (and really all PHP developers) get a whole... Read more

Ben Maggacis on Codemason and Deploying with Docker

Once PHP developers get familiar with the basics of local development with Docker, the next thing they always ask me about is deploying their projects. Running containers in production is a complicated problem, and because each project is different, there’s not just one solution that works for everyone. I’ve written before about using Hyper.sh, ... Read more