php[architect] logo

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

Under the Scope

September 2020

It’s time to review some fundamentals and remind ourselves how some things we might take for granted work. This month, we have articles on serializing PHP objects, using middleware effectively, and measuring project metrics. We also cover tools to make your development setup more useful, how autoloading works, and building a composite to keep your application maintainable.

Stacking Up Middleware

By Mark Niebergall

The shift towards API driven design has brought in all-new design patterns from traditional Model-View-Controller (MVC). Middleware pipelines are geared to address the complexities and nuances that arise with Application Programming Interfaces (APIs). This article delves into popular frameworks, discusses strategies for adding layers, handling authentication and authorization, and implications for projects. Learn all about middleware and discover how you can leverage middleware layers in your development

Serializing PHP Objects

By Larry Garfield

PHP has many native ways to serialize objects, but not all of them are created equal. PHP 7.4 introduces what is hopefully the “one final way that will work this time.” Even so, the others aren’t going away any time soon.

Defining Project Metrics

By Terri Morgan

Standard project management metrics, like percent complete, are not always well-suited to development since tasks can take more or less time than planned. Sometimes the technology doesn’t cooperate, and frequently there are changes. There are other ways to measure and track that may provide a more accurate picture of the project and the development effort.

PHP Puzzles: Calculating Population Growth

By Sherri Wheeler

Each installment of PHP Puzzles presents a small coding exercise typical of those we might encounter in a job interview, or on a coding challenge website. In the following month, we’ll look at a couple of possible solutions for today’s puzzle.

Education Station: Autoloading Your Code

By Chris Tankersley

Broadly speaking, autoloading is a mechanism for the loading code into your program on demand. If you look at a single request in your application, chances are it needs a different set of classes than another request. Where a “Login” action may use a controller, database class, and an authentication layer, a “Logout” action may need nothing more than the controller itself.

The Workshop: Mail, Ngrok, and Xdebug in WSL

By Joe Ferguson

Last month we covered Windows Subsystem for Linux and this month we’re continuing the journey by demonstrating how to further work with our WSL distribution using tools such as Mailhog, Xdebug with PhpStorm and Visual Studio Code, and ngrok.

Sustainable PHP: Build A Composite

By Edward Barnard

How might we keep the next PHP project from evolving into the dreaded Big Ball of Mud? This month we’ll explore and build a possible foundational structure, a “composite.” Then, having built out this structure, we’ll realize that we might still be over-engineering things a bit—but this structure remains a necessary step along the way.

Security Corner: Observable Security

By Eric Mann

Among the easiest ways to ensure your website or web application is behaving security is to subject it to objective, third-party security scans. The Mozilla Observatory is one such tool that helps ensure strong security for any system operating on the public Internet. The Observatory automatically scans your website to make sure you correctly configure common security settings to protect you and your users best.

Community Corner: PHP 8 Release Managers: Interview with Sara Golemon and Gabriel Caruso, Part Three

By Eric Van Johnson

Part three concludes my interview with the PHP 8 Release Managers about PHP Internals. We touch on getting started contributing to internals via RFCs, becoming release managers, the commitment required by that role, and how the project’s release cycles have evolved.

finally{}: We Are All Programmers

By Eli White

Throughout the history of computer programming, people have been told, “Oh, but that isn’t programming.” You just learned some BASIC back in the ’70s? Well, you aren’t a programmer; that gal writing full applications is a real programmer. Oh, you just make webpages with PHP, eh? That’s not real programming—learn Python or Go.

Leave a comment

Use the form below to leave a comment: