Frank Wallen

Frank Wallen is a PHP developer and tabletop gaming geek (really a gamer geek in general). He is also the proud father of two amazing young men and grandfather to two beautiful children who light up his life. He lives in Southern California and hopes to one day have a cat again.

twitter: @frank_wallen

Articles

PSRs In Action: PHP League Event Package

By Frank Wallen

An Event Dispatcher is a well-used and battle-tested design principle where developers can easily inject functionality into an application, especially legacy applications.By dispatching events in your application, you can dramatically reduce the complexity of refactoring your code. by Frank Wallen

Published in The PHP Gambit: Winning Strategies in Code, February 2024

Exploring Real-World Applications of PHP-FIG’s PSRs through Popular Libraries

By Frank Wallen

by Frank Wallen

Published in The Spectrum of PHP, September 2023

RFC: Where To Start

By Frank Wallen

If you have been following the progress of PHP since version 5.6, even 7.4, you know there have been a lot of changes. How does that work? How does that happen? How do I get involved? To get you started on your way, let’s understand what an RFC is: *Request for Comments*. That doesn’t really explain a lot, but it’s the beginning of the discussion on a new implementation, change, or feature added or made in the underlying PHP engine by the internals team. This is the place where *all* of those discussions begin.
by Frank Wallen

Published in Packing Up PHP, August 2023

PSR Pickup: PSRs And PERs: What’s Next?

By Frank Wallen

We reached the end of active PSRs and PERs. Now we can start looking
at what’s next at the PHP-FIG, which we will do in this month’s column.
We will look at the four PSRs in DRAFT status: PSR-5 PHPDoc Standard,
PSR-19 PHPDoc Tags, PSR-21 Internationalization, and PSR-22 Application
Tracing. by Frank Wallen

Published in Be Barrier Free, July 2023

PSR Pickup: PER: Coding Style

By Frank Wallen

No more PSR’s to discuss at the moment…say it isn’t so! Not to worry,
we’ll look at a new type of Recommendation: the PHP Evolving
Recommendation, or PER, in the meantime. by Frank Wallen

Published in Evolving PHP, June 2023

PSR Pickup: PSR-20: Clock

By Frank Wallen

Let’s take a closer look at some of the features of the Clock
interface. We’ll see how wrapping date/time in an object can simplify
the process of making future changes. by Frank Wallen

Published in HTTP Burritos, May 2023

PSR Pickup: PSR-18: HTTP Client

By Frank Wallen

This month we will look at PSR-18, the HTTP Client.
Use of APIs has grown significantly over the years, from providing
sports stats and news headlines to driving the backend of websites,
processing payments, and conversations with AI chatbots. Separated
services like these give us greater control of content, and resources,
and improved performance through asynchronous requests. This article
will not be covering API design but rather the design around the
consumer of APIs. However, I recommend some talks presented at Tek that you will want to attend to
learn more about APIs: Matthew Turland’s “OpenAPI: More Than
Documentation”
and Tim Bond’s “Attackers want your data and
they’re getting it from your API”
on Day 2 (Wednesday), and Ian
Littman with “API Design Patterns for the REST of Us” on Day 3
(Thursday). by Frank Wallen

Published in Getting TEKnical, April 2023

PSR Pickup: PSR-17: HTTP Factories

By Frank Wallen

In PHPArchitect Issue 7 of Volume 21 (way back in July 2022), I wrote about PSR-7: Message Interfaces, where Request and Response interfaces were defined to ensure that requests and responses were properly structured and handled. PSR-17 was created to support PSR-7 by defining interfaces for factories to create HTTP objects. The factory design pattern is an excellent way to introduce standards in components not specifically implementing PSR-7 interfaces. They will produce the request and response objects following the recommended standards, and the implementing code will not require a major refactor. PSR-7 was written before the release of PHP 7; therefore, following these recommended standards is important for security and stability. by Frank Wallen

Published in Box of PHP, March 2023

PSR Pickup: PSR-15: HTTP Server Request Handlers

By Frank Wallen

This month we’re introducing PSR-15, which proposes standards for handling and responding to HTTP requests through request handlers and middleware. A request handler receives an HTTP message (see PSR-7 , processes the request, and returns a response. A middleware component processes incoming requests, often in combination with other middleware, and will perform specific actions before the receiving application handles the request. There are two github repositories for this PSR: Server Request Handlers for Middleware (http-server-handler) and HTTP Server Middleware (http-server-middleware).
by Frank Wallen

Published in Knowledge Crunching, February 2023

PSR Pickup: PSR 14: Event Dispatcher

By Frank Wallen

As the title states, what PSR-14 is truly about is an Event Dispatcher. This is what sends out the Event into the system. We’re also going to talk about Events and Listeners, as the dispatcher would have nothing to do without them. by Frank Wallen

Published in PHP is Standing Tall, January 2023

By Frank Wallen

There are two basic types of links: link and anchor tag. This article will take a more in-depth look at both and discuss the decision developers face to use one over the other in web applications. by Frank Wallen

Published in Owning The Web, December 2022

PSR Pickup: PSR-11: Container Interface

By Frank Wallen

In this issue, we’ll discuss the Container Interface, PSR-11. The Container’s job is to act as a registry and return a service object identified by a unique key or name. Many modern frameworks and codebases implement Dependency Injection as a form of inversion of control, where the client requesting the service object does not need to know how to construct it. Usually, containers return service objects, but it could really be any valid object in the application. The responsibilities of the Container are configuring and fetching entries, leaving it up to the framework to fetch the necessary objects to compose the application. by Frank Wallen

Published in The Value of the AST, November 2022

PSR Pickup: PSR-6 Caching Interface

By Frank Wallen

Caching is very important, as we know, let’s take a look at some of the issues that can be associated with caching and practices to help better optimize performance. by Frank Wallen

Published in Making Code, September 2022

PSR Pickup: PSR-7 HTTP Message Interface

By Frank Wallen

This month we’ll be looking at PSR-7, the HTTP Message Interface. Handling HTTP messages is crucial to web development. Request messages come into the server, are processed, and content is constructed and packaged into a response message and then sent back to the requesting entity. It sounds relatively simple on the surface, but it drives our internet experience. Requests and responses must be appropriately formed and follow the essential requirements and protocols. The intention of PHP-FIG’s HTTP Message Interface is exactly that, building structure around those requirements, so developers know what to expect and how to respond. by Frank Wallen

Published in Database Freedom, July 2022

PSR Pickup: Psr-3 Logger Interface

By Frank Wallen

Now that we have introduced the Autoloader (March Issue) and style guide PSRs (March and April), we’re going to look at PSR-3, the Logger Interface. We’ll continue along the path of recommendations for code structure and see recommendations for expectations and behaviors. by Frank Wallen

Published in One Last Slice, May 2022

PSR Pickup: PSR 12 Extended Coding Style Standard

By Frank Wallen

In last month’s column of PSR Pickup, I talked about PSR-4 Autoloader (PSR-0 was the first Autoloader PSR) and PSR-1 Basic Coding Standard. In this month’s column, I’ll be talking about PSR-12 Extended Coding Style Standard. PSR-12 builds on PSR-1 and is significant in the number of rules it defines, most of which are formatting styles well-supported by modern IDEs.

Published in Testing The Core, April 2022

PSR Pickup: PSRs – Improving the Developer Experience

By Frank Wallen

PHP-FIG (PHP Framework Interoperability Group) is the group of developers and projects coming together to define/suggest and maintain PSRs (PHP Standard Recommendations) for how frameworks and components communicate and work with each other. In PSR Alley, we will talk about the PSRs and how they are applied in, or affect, the real world of developing with PHP. The first ones we’ll look at are *PSR-0 Autoloading Standard*, *PSR-4 Autoloading*, and *PSR-1 Basic Coding Standard*.

Published in World Backup Day, March 2022