php[architect] logo

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

Serverless, ReactPHP, and Expanding Frontiers

May 2019

PHP is no longer limited to sitting behind a web server like Apache or NGINX waiting for requests to process. Serverless PHP with AWS’s lambda service is now possible. At the same time, you can also write event-driven, asynchronous servers with ReactPHP. In this issue, we take a look at these new ways to use PHP.

Deploying ReactPHP Applications

By Cees-Jan Kiewiet

In this article, we’re going to deploy a ReactPHP application and discuss all the things involved with it. This setup is the way I’m currently deploying my applications, but that doesn’t mean I’ll keep using this method. I’m already looking at Docker and k8s. However, the information in this article helps you whether you deploy the way I describe here or another deployment tool. To fully cover everything in this article would be too much so I’ll be focusing on the deployment and everything directly related to it. I’ll skim over the rest and encourage you to dive into that yourself after reading this article.

Serverless PHP With Bref, Part One

By Rob Allen

In recent years, a different way to build applications has arisen called serverless computing. This term is not a good name; I’m reminded of the adage that there are two hard problems in programming: naming things, cache invalidation, and off-by-one errors. Serverless computing as a name implies no servers, but there are servers—you don’t think about them though. A better way to think about it is that the servers and the management of them are abstracted away and the provider manages the allocation of resources, not the application architect. In this article, I’m going to walk through how to use Lambda with PHP to execute a function.

Department of Breaking Changes: Launching PHP 7 in a Highly Available Web World

By Grant Dickie

For many legacy code bases, upgrading to the latest version of PHP 7 presents an opportunity not just to use the latest syntax and features, but to address technical debt and streamline infrastructure. In this article, I’ll share how in moving to PHP 7, the Digital Media team at NPR prepared to make the move and modernized our deployment practices.

MySQL 8.0 Geographic Information System or How Did I Get to This Point?

By Dave Stokes

MySQL before version 5.7 had less than stellar Geographic Information Systems (GIS) support. In version 5.7, the Boost.Geometry two dimensional or 2D libraries were added. The past several years have seen explosive growth in GIS demand, and the pre 5.7 software was not up to what the customer base was demanding. So the decision was made to switch to the Boost.Geometry libraries. This refactoring was a significant investment for the engineering team to move to a third party library and they have also become contributors to the Boost.Geometry project. Also, with 8.0 came the three dimensional or 3D libraries, but how do you use these features?

Education Station: Data Structures, Part One

By Chris Tankersley

I’ll admit, one of the best things I love about PHP is that I don’t have to deal with all sorts of different ways to deal with data. At the base of the language we have nice primitives like strings, integers, floats, and Booleans, and we also have one of the most flexible structures known to programmers—the PHP Array. The array itself wears many hats. If you are coming from other languages, you have to think about the structure of ordered data in a few different ways. The reason for this tends to deal mostly with how we need to represent data and how we manipulate data. Different data has different requirements.

Internal Apparatus: Memory Abstractions

By Edward Barnard

We normally don’t care about abstractions in software, because they exist to hide details we shouldn’t need to care about. However, sometimes, we do need to know the detail. An essential part of how PHP works involves memory management. This month we’ll see new ways to think of memory itself; we’ll also introduce a learning tool we’ll be using in upcoming articles. We’ll be simulating an ancient mainframe computer, and its hard-wired operator console, using modern text messages.

Security Corner: Access Control and Authorization

By Eric Mann

Proving the identity of a user isn’t the end of an application’s responsibilities: you must also verify the user is allowed to perform the actions they’re attempting. Conflating authentication (the act of identifying users) with authorization (the act of verifying their level of access within the system) is one of the most common ways applications have been breached in the recent past.

Community Corner: Philosophy and Burnout, Part One

By Margaret Staples

Why care about philosophy? In a word, burnout. Misology is the hatred of reasoning, revulsion or distrust of argument, debate, or the Socratic method, and it’s one of the flavors of burnout.

finally{}: The State of PHP

By Eli White

I’ve spent a while now working on my seven deadly sins series of articles, and so it’s been a while since we’ve stepped back to look at PHP itself. Where are we as a language, and as a community?

Responses and Pingbacks

[…] one has been published in the May 2019 issue and if you’re not already a subscriber, you should […]

Leave a comment

Use the form below to leave a comment: