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
PSR Pickup: PSR-13: Link Definition Interfaces
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