Purchase Digital Issue: $6

Subscribe Today:

Digital Edition - DRM-Free

Get 12 issues in PDF, ePub, and Mobi format with our digital subscription for only $49/year. Subscribe Digital Edition
1 year / $49

Print + DRM-Free Digital

Or get 12 issues printed and shipped to you as well as the digital copies for just $129/year. Subscribe Print + Digital
1 year / $129


At a business and want multiple print copies to share around the office? Choose the number you want and we'll custom calculate a price for you:


Get the iOS App

php[architect] app on an iPad tablet

The php[architect] iOS app lets you quickly download and read the magazine on your iPad or iPhone.

php[architect] — May 2015

It can be a challenge to have to figure out why your new application is crashing or giving the wrong solution, more so if you’re project manager or client are hovering over your shoulder. Good debugging skills can certainly help in that situation, though that’s a topic for another issue. Better still, is to prevent bugs and issues from rearing up in production by having good testing systems in place to catch them. It’s always cheaper to identify and fix a bug early. Given the complex nature of a modern web application, automated testing can be the only way to thoroughly put a system through its paces.

Codeception: Testing for Human Beings

As developers, we are used to automating all things. Testing is boring and should be automated so that we can spend less time on quality assurance and more time writing business code. by Michael Bodnarchuk

Integrating Mockery and Hamcrest into a Project

Today two new libraries have come onto the PHP scene with the expressed goal of making the testing easier and cleaner. Hamcrest is a matcher library that started out in the Java world and has been ported to a variety of languages. It is a replacement for all of the built-in matching that comes with PHPUnit. Mockery is a drop-in replacement for PHPUnit’s built-in mocking library. by Xander Guzman

Reusable Containers for Automated Testing

While Linux containers and functional testing are not new concepts, the recent advances in support for tooling around these have made them a powerful force, enabling rapid, high quality development. This article details how you can harness this power for your applications. by Brad Bonkoski

PHP Extensions—Bundling an External Library

One goal of creating a PHP extension is often to add features found in an external C library. It is then often possible to consume this API from a PHP extension code and publish it into the PHP language itself. by Julien Pauli

Facebook Accessibility Toolkit

Having worked on accessibility at Facebook for a few years now, we have discovered a few strategies for scaling accessibility within our large engineering environment. We recently shared some of these strategies via our Accessibility Toolkit. This is a blueprint that describes our process for integrating accessibility into engineering. We hope this transparency will help others create their own initiatives as well as invite feedback on ways to refine our own process. by Ramya Sethuraman

Education Station: Easy Image Manipulation with Glide

Read this article for FREE
In this month’s edition, we’re going to have fun with images; specifically, we’re going to look at a library that makes it easy to manage just about everything to do with images in a web application. What’s more, it’s a library brought to you by The PHP League, otherwise known as The League of Extraordinary Packages—it’s called Glide. by Matthew Setter

Leveling Up: Phpspec, TDD, and Mock Objects

Last month, we got started with some very simple specs, creating a very simple single-function calculator with no dependencies. However, most of the code you’re likely to build will be quite a bit more complex. This month, we’ll talk about how phpspec can help you build code that relies on other objects to do the work, even if that code doesn’t even exist yet. by David Stockton

Community Corner: May 2015

Joe Devon, co-founder of GAAD, lists how you can participate by evaluating your own sites, and also shares highlights from the National Association of Broadcasters show and Lone Star PHP by Joe Devon.

finally{}: The Counter-Point

This issue revolves around testing: Unit Testing, Functional Testing, Automated Testing, and Test-Driven-Development. I guess that leaves it to me to be the curmudgeon and give a counterpoint to all the information. Now I’m going to tell you why (or perhaps I should say when) you might decide not to and have it be the right decision. by Eli White

Leave a comment

Use the form below to leave a comment: