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