Hostile Dependencies – When to Mock and When to Integrate
Assuming that you know basic unit testing techniques using PHPUnit and you are now a test enthusiast, let’s discuss some advanced techniques. Let us talk cost and risk, not just the cost and risk you think you are mitigating with your integration test, but the cost and risk you might be incurring from jumping to a practically blackbox integration test, rather than using mocking frameworks to their fullest or even taking the middle road with a tool such as DBUnit and vfsStream. –by LB Denker
PHP Best Practices – Architecture 101
No matter what sized application you intend to write, whether for the desktop, web, mobile, or anything in between, a few simple rules will help you create more flexible, scalable, and maintainable applications. What makes more sense, objects and classes or functions? How do I lay out directory structure? Do I use namespaces? How do I handle URLs and routing? How do I separate concerns in my code? Answering these questions and asking them again as your project comes to completion, can provide excellent architecture for your application. –by Elizabeth M. Smith
Wielding Your Unwieldy JavaScript
Few people only write PHP these days. Those of us who write web applications always end up adding some JavaScript here or there to fancy things up… usually with jQuery or your favorite JavaScript toolkit. But what do you do when you find you need more than just the simple stuff? Your front-end is getting complex, and you need some structure to manage your data and your interface. What do you do with that file full of unorganized spaghetti functions and global variables? I wondered the same thing… then I learned how to make my JavaScript more object-oriented. I’ll show you some simple techniques for keeping your JavaScript code more organized, easier to understand, and more modular! –by Garrison Locke
Why You Should Not Use Design Patterns
There are many arguments against using Design Patterns. Let’s take a look at them and see what we can learn about the use, disuse and abuse of Design Patterns in the web applications we develop. –by Jason Sweat
Project UX: Personas: More than Just a Pretty Face
Not every organization has large bushels of money to invest in the process of creating personas. Follow these tips and you can do it yourself in a fraction of the time and on a shoestring budget. –by Laura Smith
Outside the Box: Just-in-Time Compilation
Every month, I will focus on a feature taken from other languages like Ruby, Java or Python and see how such features are handled in PHP, or when we can expect such a feature in PHP itself. This month, we are covering just-in-time compilations. –by Joshua Thijssen
Performance: Diagnosing Performance Breakdowns with New Relic
Hi folks, and welcome to the second installment in the New Relic series. In this month’s column, I’m going to build on the material covered in last month’s column and go through a simple, if fictitious, scenario so that you can get a hands-on start using New Relic to identify bottlenecks in your applications performance, what’s causing it and how to address it. –by Matthew Setter
exit(0): Anonymous, but not Forgotten
Everyone has something to hide. –by Marco Tabini
Editorial: Flexible Solutions
PHP may be loosey-goosey on rules, but that leaves room for the creativity that makes me love my job. –by Elizabeth Tucker Long