php[architect] logo

Want to check out an issue? Sign up to receive a special offer.

php[architect] — October 2016

It’s tempting to always chase what’s new and shiny. Whether it’s an upcoming RFC for PHP or the next JavaScript framework that will revolutionize front end development, you can spend a lot of time keeping up with it all. There’s certainly no shortage of something new to check out. That’s why it’s important to take a step back at times, revisit what you know, and challenge your assumptions. Remember, you’re never done learning if you are a programmer.

Pillars of Development

Juggle Arrays Using Functional Callbacks

Arrays are a fundamental data structure in almost every programming language. We use them every day, but are we limiting ourselves to just using a handful of basic array functions and control structures? Are we missing more explicit and readable iterations of arrays? Using functional programming paradigms, we can open up a new world of simplicity and power for common array iteration strategies. It’s time to get out of the foreach rut. by Andrew Koebbe

Dev Divas: History’s Heroines of Computing, Part One

Picture a software engineer. Did you think of a man? Me too.

When I went looking for stories about women in the history of computing, I found many surprises such as this one. I had no idea the degree to which women shaped what our profession—our world—looks like today. In this article series, I’ll share just a few of these stories with you. Here’s how I came to start looking for them. by Vesna Vuynovich Kovach

API Tips From the Front Line

Starting to write an API is an easy task, but you quickly stumble upon many obstacles and hard decisions. How to manage result pagination? How to handle write operations, file uploads and authentication? In this article, I will share tricks that allowed me to ship high-profile projects in record time, while keeping the code clean and maintainable. by Anna Filina

The Strangler Pattern, Part One

Our large PHP application at InboxDollars works well and generates revenue. Unfortunately, we’re locked into an old version of CakePHP. We’ve considered the cost of rewriting our ancient beast to use CakePHP 3 and modern PHP. The effort is not worth it to us since the rewrite does not bring any additional revenue. We created a way to write new feature code using CakePHP 3 (or any other modern framework) while leaving our main application intact. We follow the Strangler Pattern using microservices. by Edward Barnard

Education Station: Automate Tasks Away With Robo the Faithful Task Runner

Tasks, maintenance, automation—no matter what you call it, it’s a core part of any project we’re involved in. It’s also a part of a project which can, if we’re not careful, suck the life out of it. This month, I want to let you know about another automation tool: it’s called Robo. by Matthew Setter

Leveling Up: Meddling in Middleware

In the past year or two, middleware approaches to writing web applications in PHP have grown quickly in popularity. It’s quite a bit different in terms of how you think about structuring and organizing an application compared to MVC, but it also brings a lot to the table regarding simplicity and understanding. Today we’ll be looking at middleware, what it means, and how to use it. by David Stockton

Community Corner: Conference !== Family Reunion

If you have ever been to a PHP conference, you know the drill. There is one area—usually the area with the most comfortable chairs—where everyone gathers, hangs out, shoots the breeze, and catches up with each other. I really didn’t realize how different the experience was for people not “in the group” until I attended a WordCamp earlier this year. I began to wonder if other attendees at PHP conferences experienced what I experienced at WordCamp. If so, what we as a community can do to make this suck less? by Cal Evans

Security Corner: Two-Factor Authentication Is Just a Text Away

In last month’s article I introduced you to some of the basic concepts around two-factor authentication and how to integrate one method into your application: time-based one-time password handling. This method comes with handy benefits (like being able to use it offline) but it has one major drawback—you have to have an application installed on your device to get the codes. While a large percentage of the population has access to smart devices which can run these applications, there’s a decent sized chunk that can’t run them. This means potentially cutting off part of your audience just because they can’t use their device that way. by Chris Cornutt

COTS, Open Source, Build it Yourself, or Something in Between?

Read this Article for FREE

I could just write the code myself and have what I need. But do I want to? Do I want the burden of maintaining new code? Is that where my focus and my is? Or are there better ways for me to spend my time making value than re-creating something that may already exist? by Eli White

Purchase this Issue

Responses and Pingbacks

[…] Cal” Evans @CalEvans writes “Conference !== Family Reunion” in the October 2016 issue of php[architect]. He talks about being part of the “in group.” What can we do to make any conference suck less […]

[…] few months later I was able to share my solution via php[architect] magazine as The Strangler Pattern. I can’t speak highly enough of the unexpected collisions of ideas which happen at our […]