Software Engineering in WordPress, PHP, and Backend Development

Tag: PHP (Page 6 of 13)

Resolving PHP and PHP CodeSniffer Errors

macOS is still shipping with PHP (though how this looks for future versions of the OS is likely going to change in some way.).

Anyway, imagine you’re in a situation where you’re working on a project that requires three different components:

  1. PHP,
  2. A set of coding standards,
  3. PHP CodeSniffer that work with said coding standards,
  4. The inability to properly see results of sniffing the code either in your terminal or your IDE.

When this happens, this is almost always a result of a version of PHP, the version of the various dependencies, and making sure they all play well together.

In short, it’s about making sure the tools like PHP CodeSniffer work well with the same version of PHP you have installed. And in this case, the latest and greatest isn’t necessarily the best course of action.

It is, however, close. And in the following steps, you should be able to get everything working exactly as needed for your specific set up.

Continue reading

Using PHPCS with Oh My Zsh

If you’re using macOS Catalina (or later depending on when you’re reading this post) and you’re also running a combination of:

And you’re using the latter installed at a global level but your IDE nor your terminal sessions are able to pick it up, make sure that you’ve updated your path.

Remember:

Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration.

Oh My ZSH

This means if you’re going to make any changes to your path, you need to update ~/.zshrc.

Continue reading

How To Fix the Referenced PHPCompatibility Sniff Error

There are a lot of nice packages that we can use in our PHP-based projects and if you’re using Composer or GrumPHP, PHPCompatibility is one that I recommend including your projects especially if you’re writing code for something that’s going to run across multiple versions of PHP (that is, on hosts that offer different versions).

This is a set of sniffs for PHP CodeSniffer that checks for PHP cross-version compatibility. It will allow you to analyse your code for compatibility with higher and lower versions of PHP.

PHPCompatibility Repository

This is something that be installed within composer and it’s something that I recommend for people writing code for WordPress because of how much variation exists within our hosts.

Occasionally, though, you may see a problem like this:

And if you run $ phpcs -i you may get a message that’s unclear.

Continue reading

Modern Software Engineering in WordPress (We Were on a Break)

Over the past few years, I’ve spent a significant amount of time writing about a lot of things on how to achieve certain things in WordPress. And I don’t regret it (after all, it’s my career and it’s even the subtitle and focus of this blog).

But one of the things that I’ve opted to neglect is a focus more on topics that interest me such as object-oriented analysis, programming, design, and implementation. (And, of course, doing so within the context of WordPress.)

And sure, there are some articles where I’ve touched on it but I recently took a week off of pretty much everything except my [growing] family and during that time, I took stock of a variety of things.

One of those things included this particular site, its content, and the general focus of my career.

Continue reading

Participating in Voices of the elePHPant

A few months ago, I had the pleasure of writing the forward to Cal Evans book Using the WordPress REST API. Shortly thereafter, Cal asked if I’d join him on his podcast, Voices of the elePHPant, to talk a bit about software development in the context of WordPress.

And given that that’s what I’ve spent the majority of my career doing, it made sense to participate.

This not only gave me a chance to catch up with Cal “face-to-face” but also to share a bit about what it’s like working in this particular corner of the PHP community and in the WordPress economy.

Continue reading
« Older posts Newer posts »

© 2025 Tom McFarlin

Theme by Anders NorenUp ↑