Tom McFarlin

Software Engineering in WordPress, PHP, and Backend Development

Page 79 of 428

Databases and Tools for the Independent WordPress Developer

Admittedly, the last post in this series was quite long. However, that’s not going to be how the overall series of posts articles are going to go.

Preparing a development environment is arguably one of the largest steps required, thus the need for having a lengthy, detailed guide for how to do it.

Remember that WordPress is a database-backed PHP-based web application.

This is all jargon for basically saying that it’s an application primarily written in PHP that needs a database to store its information.

As of the last post, we have the web server and PHP installed and set up, but we’re still missing the database. Luckily, the last post laid the foundation for what we need to get the database installed, set up, and ready for a local WordPress installation.

Independent WordPress Developer: MySQL Version

In addition to covering how to do that, though, I’m also going to outline tools that I find immensely useful when it comes to working with databases on your local machine.

Recall, though, that this series of articles is not meant to be theoretical, but practical. Furthermore, it’s meant to get you from having nothing to having everything you need to build high-quality, WordPress-based products in as little time as possible.

It just so happens that a lot of this time is spent getting the local development environment set up.

With that said, let’s continue and focus on what’s required to get the database set up and with how we can interact with the database server to begin creating what we need for our local WordPress installation.

Continue reading

Using Nullable Return Types in PHP

“One of the nicest features that PHP affords is type hinting specifically for those who are coming from an object-oriented programming background.

From the PHP manual:

Type declarations allow functions to require that parameters are of a certain type at call time. If the given value is of the incorrect type, then an error is generated: in PHP 5, this will be a recoverable fatal error, while PHP 7 will throw a TypeError exception.

The reason this is important is because it gives people who are going to use your code – specifcally those who will write code against your code – what types of parameters a given constructor or function will accept.

But there’s more to it than that because type hints are also applicable to the type of data a function can return.

Continue reading

The Demand for Gutenberg Is Not There. Yet.

I’ve been asked, on a few occasions, why I’ve not released anything that’s compatible with Gutenberg or why certain plugins aren’t compatible with the current version of the Gutenberg plugin.

Demand for Gutenberg Is Not There

In the WordPress economy, I’ve seen few things as divisive as this shift in WordPress (though it seems to be finally have chilled a bit). And I’m not interested in entertaining a position on it on this blog.

But when others ask why I’ve not bothered to write anything about it or make certain plugins compatible with it, I find that it’s worth talking about it at least to a certain degree.

Continue reading

Local Development for the Independent WordPress Developer

Last week, I said that I was going to be writing a series of posts explicitly focused on practical tools for freelance WordPress developers who are looking to improve their skills.

Specifically, I will be writing about the tools, processes, and more for the Independent WordPress Developer. Thus, the goal is to provide a series of content geared towards those of you who are freelancers or who work on a team of one but are looking to apply repeatable, solid tools and practices to your workflow.

In other words, it’s about using a set of tools designed to help you create the best solutions possible for your customers (and doing so with next-to-nothing in overhead cost).

The challenge that comes with doing something like this is two-fold:

  1. It’s a lot of content,
  2. There’s a [small] learning curve.

So, yes, technically you can go to different sites or areas and learn bits and pieces about these things, but the goal of the upcoming series of posts is simple:

Focus directly on the independent WordPress developer and do so in a practical, easy-to-understand, applicable way.

And that’s what I’m planning to do in the series starting today.

Continue reading

What’s The Simplest Thing That’s Needed?

There’s a quote often attributed to Albert Einstein that I quite like (and I’m sure most do):

Everything should be made as simple as possible, but no simpler.

There is some investigation as to if he said it or not, but the point remains regardless of who said it.

The Simplest Thing Possible: And No Simpler

It’s easy to take this idea and apply it to things that we do in everyday life that we don’t want to do, right?

  • I don’t want to clean my room, so I’ll tidy it up just enough.
  • I’ll do just enough work to satisfy the clients, and that’s enough.
  • I’ll fulfill [whatever responsibility] the to [lowest degree possible] and because Einstein [allegedly] said it, who am I to argue.

Even though I don’t agree with it (and the discussion for that is outside the scope of this post), I do consider this idea within the context of web development.

And to be clear, I’m not talking about web design. I’m not a designer. I don’t want to speak on behalf of something of which I’m not a part. But regarding providing solutions for people using software or, rather, web development, I’m far more inclined and positioned to talk about this.

Strictly speaking, I find myself often wondering if we’ve made web development more complicated (and why we’ve done so) and if using the simplest thing that’s needed is all that’s really needed when building solutions for others.

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑