php[architect] logo

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

PHP 8 Bits and Git

December 2020

As scheduled, PHP 8 was released at the end of November. Congratulations are in order for the release maintainers and all contributors involved. In this twelfth issue, we have an in-depth dive into the changes in PHP 8, how to write better code with calisthenics, powering up Git with aliases and hooks, and more.

PHP 8 Distilled

By Matthew Turland

PHP 8 is a significant release for much more than just its version number: it’s absolutely packed with shiny new language features, potential performance improvements, and fixes to many unintuitive behaviors and inconsistencies in previous iterations of the language.

Applying Best Coding Practices to PHP, Part Two

By Vinícius Campitelli

Sometimes, SOLID can be a bit hard (no pun intended) to follow because we can’t even notice what we are doing wrong, especially with the Liskov Substitution Principle, as it can be very theoretical. In part two, we look at another, more practical approach for writing solid code.

Power Up with Git

By Andrew Woods

Git is an essential tool for the modern software developer. You learn how to customize Git to enhance your developer experience. You’ll also learn some combinations of commands to make you more effective with Git

PHP Puzzles: Grid Mapping

By Sherri Wheeler

In our last issue, we plotted a list of compass directions onto a grid to determine a destination x,y point. In this article, we look at generating a simple output for a colored grid.

Education Station: Using Factories and Hydration

By Chris Tankersley

The applications that we build are usually portals for users to view and manipulate data. That data may be as simple as a web page pulled from a database or a collection of raw data. An admin section may display graphs of various analytical data on one page, while another may show configuration data.

The Workshop: Git Hooks with CaptainHook

By Joe Ferguson

Git Hooks are executable server-side or client-side scripts that run when specific Git events happen, such as creating commits or checking out branches. Server-side hooks are useful for Git administrators to enforce specific policies and can run before or after pushes to the server. We’re going to focus on client-side Git Hooks, and how we can leverage them to perform routine tasks for us automatically during the Git workflow we’re already using.

Sustainable PHP: Deep Problem Analysis

By Edward Barnard

Sometimes, I need to write experimental code in order to explore and understand how the system works. This is particularly true when dealing with third-party software. Sometimes those experiments become large with many thousands of lines of “experimental” code. Here are my principles and guidelines for making that experimental code a success.

Security Corner: Circuit Breakers

By Eric Mann

If your application’s stability depends on the availability of a third-party system, the reliability of that external system becomes critical to the smooth operation of your own. The circuit breaker pattern is a proven way to protect against an unstable system causing problems with yours. Use it, and you won’t be surprised by an unplanned outage at a service you rely on, provoking an outage for your service as well.

Community Corner: An Interview with Andreas Heigl

By Eric Van Johnson

It started off simple enough, a friend in school ask Andreas if he could help him write a piece of software. Andreas himself wasn’t an aspiring programmer; he has was an avid district forester. However, he had done some small projects in the past for the Apple platform using FileMaker. This project needed to be different, and it needed to be cross-platform. Andres remembers reading about a web technology called PHP paired with MySQL and thought, “It can’t be that complicated. Can it?”

finally{}: Resolutions

By Beth Tucker Long

As programmers, it is our job to build. We create things. We modify them. We fix bugs. We solve problems. We fill needs. Maybe it’s time to start applying this to something a bit bigger than just our codebase.

Leave a comment

Use the form below to leave a comment: