Get 12 issues in PDF, ePub, and Mobi format with our digital
subscription for only $49/year.
Subscribe Digital Edition
1 year / $49
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:
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.
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
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
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
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
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
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
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
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.
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
Accessing backend system…
We're sorry, but your session has expired due to inactivity. Please use your browser to refresh this page and log in to our system again.