Tom McFarlin

Software, Development, and WordPress

Page 3 of 408

Quick Tip: Programmatically Authenticate a User

TL;DR: Here’s how you can programmatically authenticate a user into WordPress as long as you have a verified user ID for said user.

Earlier this week, I shared how to import necessary core files to programmatically manage users in the administration area of WordPress. Along those same lines, if you’re working with a third-party service for login and authentication, it may be useful to know how to programmatically redirect to the administration area once you have a valid user ID.

Continue reading

How to Dynamically Load Classes by Namespace in PHP

TL;DR: To dynamically load classes by namespaces in PHP, you need a Registry, and a way to parse the concrete files from a directory based on its namespace.

Whenever I’m working on a project that has an object-oriented code base and that uses Subscribers and Services, I often use a Registry. This makes it easy to

  • register the subscribers with the core application whenever the code runs,
  • de-couple any Service classes so they can be tested or even run isolation,
  • and maintain the code base whenever something has to be added or taken away.

One challenge with this approach though, at least in PHP, is that I’ve found myself having to go back into the Registry and set a reference to a given Subscriber whenever I want to add it (or remove it whenever I want to, you know, remove it).

Ideally, I want my registry to know where the subscribers are and how to set them up. This way, I can focus on working on the rest of the code.

Continue reading

Using Ray in WordPress Development: Measuring Performance

TL;DR: Ray makes it easy to start measuring performance of your code both in WordPress and in standalone PHP solutions.

I don’t know if this is something that’s common within WordPress development, but if you’re working on functionality that deals with a lot of files, a batch of operations, or both, then this is something that may be useful.

⚠️ If you’ve not already set up your environment, please read this post and make sure you have the free version of Ray installed.

Continue reading
« Older posts Newer posts »

© 2022 Tom McFarlin

Theme by Anders NorenUp ↑