Archive for the ‘Patterns & Practices’ Category

What Is Snapshot Testing, and Is It Viable in PHP?

Posted on: No Comments
Ah-ha moments are beautiful and rare in programming. Every so often, we're fortunate enough to discover some trick or facet of a system that forever changes how we think of it. For me, that's what snapshot testing is. You probably write a lot of PHP c...

Functional Programming with Phunkie: Building a PHP JSON Parser

Posted on: No Comments
Phunkie is a library with functional structures for PHP. In this two-part tutorial, Phunkie’s creator Marcello Duarte, head of training at Inviqa, explains how to create Parser combinators using the functional library. This post first appeared on the...

How to Search on Securely Encrypted Database Fields

Posted on: No Comments
We [ParagonIE] get asked the same question a lot (or some remix of it). This question shows up from time to time in open source encryption libraries' bug trackers. This was one of the "weird problems" covered in my talk at B-Sides Orlando (titled Build...

The Balance between Visual and Technical Debt in PHP

Laracasts recently published a very interesting non-Laravel video about something called visual debt. It's only 3 minutes long, so please, take the time to watch it before reading further. Done? Okay, spoilers below. In the video, Jeff starts out wit...

Re-Introducing Composer – the Cornerstone of Modern PHP Apps

Posted on: No Comments
In this article, we will tackle the basics of Composer, and what makes it such a powerful and useful tool. Before we go into detail, there are two things that we need to have in mind: What Composer is: As we can see on their website: "Composer is a t...

The Ultimate Guide to Deploying PHP Apps in the Cloud

TL;DR: There is a popular mantra amongst developers that goes like this write, test and deploy. In this tutorial, I'll show you how to deploy your PHP apps to different cloud server platforms such as Google Cloud, Microsoft Azure, Heroku, IBM Bluemix, ...

Upgrading Sylius the TDD Way: Exploring Behat

Posted on: No Comments
Last time, we developed some new features on top of Sylius' core to indicate which products and their variants are low on stock and need replenishing. Now, we move on to seeing our changes in the UI, which means we will need to do a bit of StoryBDD tes...

Upgrading Sylius the TDD Way: Exploring PhpSpec

The post on developing and testing new Sylius features was an introduction to the three types of tests that are used in Sylius - PHPUnit, Phpspec and Behat. In this part, we'll extend some core classes to indicate color-coded inventory status. First, w...