I am a software engineer and architect, PHP expert, and standards developer. I write the tools that PHP developers use to build their applications, from APIs to content management systems.
I am currently development lead for the Laminas Project, the open source continuation of Zend Framework. I began developing on Zend Framework before its first public release, and led the project from 2009 through 2019, during which time we released two more major versions, and spun off the Apigility (now Laminas API Tools) and Expressive (now Mezzio) projects.
I am a founding member of the PHP Framework Interop Group (PHP-FIG), a group creating and promoting standards for the PHP ecosystem. I was voted to the inaugural Core Committee, and am currently serving my second term in that body.
I contribute to a number of open source projects, blog on PHP-related topics, and present talks and tutorials related to PHP development and the projects to which I contribute.
Selected Work Experience
Duties include acting in my role as Project Lead of Laminas; participation with standards groups (specifically PHP-FIG); developing support offerings for Laminas and PHP; and developing extensions and features for Zend Server.
- Zend Technologies, Inc.
(RogueWave Software since October 2015; Perforce since January 2019)
Duties included scoping Zend Framework, Apigility, and Expressive releases; interfacing with Zend customers and partners; acting as community liaison; creating architecture guidelines for all projects under the Zend Framework umbrella; participation with standards groups (specifically PHP-FIG); and more.
- Zend Technologies, Inc.
Duties included maintenance and development of public-facing company websites; creation and maintenance of middle-tier web service layer used by public websites and internal processes; site architecture and team development; contribution to Zend Framework; and more.
- National Gardening Association
Duties included development and maintenance of NGA web properties; systems administration of both public and internal network infrastructure, including LVS-HA web/database cluster, bulk mail system, and company email server.
I've been speaking at PHP-related conferences and user groups since October 2005, as well as performing online webinars, participating in podcasts, and more. I've spoken at dozens of conferences, delivering well over 100 presentations. Below are a few select presentations; contact me if you need a link to a presentation not listed here.
- Real-World Solutions for Developing High-Quality PHP Frameworks and Applications
Contributed a case study entitled "Testing Service Oriented APIs", detailing unit testing and integration testing approaches for web services, using approaches learned in testing Zend Framework.
- php|architect: Lifecyle of a Bug
- php|architect: Zend Framework
- php|architect: Optimizing Dojo and Zend Framework Integration
- The PHP Anthology: 101 Essential Tips, Tricks & Hacks, 2nd Edition
Contributed three chapters to this edition, including Chapter 3, "Error Handling"; Chapter 12, "XML and Web Services"; and Chapter 13, "Best Practices".
Open Source Contributions
- Contributions made via GitHub.
- Keep A Changelog CLI tooling
CLI tooling for creating and manpiulating CHANGELOG files following the
Keep A Changelog format. The
tooling is written in PHP, and covers additional features such as
tagging releases and creating releases on GitHub and GitLab.
- Middleware microframework for PHP using the PSR-7 (HTTP message interfaces), PSR-17 (HTTP request factories), PSR-11 (Container interface), and PSR-15 (HTTP request handlers and middleware). Contributions have been made since the project began.
- API builder and runtime engine, built on top of the Zend Framework MVC framework. Contributions have been made since before the project began, as it was forked from an experiment of my own.
- Zend Framework
Contributions have been made since January 2006:
- From January 2006 — April 2008, as PHP Developer for Zend Technologies
- From April 2008 — March 2009, as Software Architect for Zend Framework
- From April 2009 — Present, as Project Lead for Zend Framework
PHP implementation of Mustache,
a templating language.
Lead maintainer for File_Fortune.
PHP port of the perl module CGI::Application.