php[architect] — July 2016

After working with computers for a while, you realize that programming is a peculiar field of endeavor. Coding is often portrayed as magical. In this issue, we’ve collected features that will help you demystify some arcane topics, maybe even one that you’ve been avoiding learning until now.

RegEx is Your Friend

Regular expressions are not the scary, hard-to-use, slow things they are sometimes made out to be. In fact, in the right hands, they are a powerful tool in your toolkit. In this article, you’ll see when they are the right tool for the job and when they are not. by Liam Wiltshire

Removing the Magic with Functional PHP

Everyone likes magic. I like magic; you like magic. Then why would we want to get rid of it? Where’s the fun in that? Magic is fun,and not when it comes to writing software. In this article, I am going to be talking about magic in programming. I’ll discuss Why it’s bad and how we can reduce the amount we put in our code. by David Corona

Implementing Cryptography

Cryptography is extremely difficult to get right. It’s a way to make news headlines when you get it wrong. Unfortunately, some of the online examples for PHP are obsolete or flawed. Here we give you a concrete place to begin: Learn what you need to know about randomness, and learn to correctly encrypt and decrypt a string. Further your learning with the Additional Reading list at the end of this article. by Edward Barnard

Reference Counting : The PDO Case Study

Like many dynamic languages, PHP uses a garbage collection mechanism to safeguard developers from the hassle of managing memory. Reference counting is at its core, and it is recommended to understand how to work with it so as to avoid certain design problems in your applications. by Gabriel Zerbib

Education Station: Running Mailing Lists with MailChimp and PHP

Read this article for FREE

Despite how old email is—the first email was sent in 1971—and despite the popularity of social media, reports repeatedly show that email is as prevalent as ever. Not only is it still prevalent, but it’s far and away more profitable than social media ever was, or likely will ever be. Mailing list services are nicely bundled up in slick web interfaces so that users are required to do as little as possible. That’s OK for power users—but we’re developers! We like to work with APIs, integrating them into our applications, or sometimes just being able to script up repetitive tasks. Today I’m going to show you how to do that with my current favorite mailing list service—MailChimp. by Matthew Setter

Leveling Up: Simple is Better

A coauthor of the C language, Brian Kernighan, wrote, “Everyone knows that debugging is twice as hard as writing a program in the first place. So if you’re as clever as you can be when you write it, how will you ever debug it?” With that in mind, it makes sense to try and make our programs as simple as possible. Simple programs are easier to understand, easier to debug, and easier to maintain. It does take effort to write simple code, though, so let’s talk about some of the ways to do that. by David Stockton

Community Corner: Nacho Cheese

Founders of open-source projects don’t owe it to anyone to accept a pull request. It doesn’t matter who you are or how much you think it would improve the project. You didn’t found the project, you didn’t set the rules, it is NACHO PROJECT. (See what I did there?) by Cal Evans

Security Corner: After the Breach

They’re the three words that no software developer (or anyone in a company, really) wants to hear: “We’ve been hacked.” Those words, especially the last one, have a way of ruining anyone’s day. Immediately, everyone flies into a panic, and there’s usually at least one person shouting: “Shut it down!” Unfortunately, this is a pretty typical scenario, but with a bit of planning, it doesn’t have to be you or your organization. Remember, with security and the Web the way they are, it’s better just to assume you’ll be hacked at some point rather than the opposite. Even if you think you’re a small company with no data anyone could possibly want, there’s always something that can be gained: user accounts with password reuse or maybe a platform to use for attacking another service. by Chris Cornutt

Ageism in the Development Community (from Both Sides)

I’ve been around the block a few times and have the white hair to show for it. With that, I’ve definitely experienced ageism within my working experience—personally, and having seen it happen to others. Ageism is a problem, and I’m not just speaking about the level where it can become a lawsuit situation. I want to chat briefly about the much more subtle aspect of ageism in the community, which is simple disrespect between the younger programmers in the field, and those with decades of experience. by Eli White