Tom McFarlin

Software Engineering in WordPress, PHP, and Backend Development

Page 48 of 427

The Difference in cURL and WordPress Requests

cURL is a very popular PHP library that I’ve referenced in several posts other posts (1 and 2, for example). And it’s one that I think should be reviewed, explored, and possibly used by anyone working in PHP (yes, even those working in WordPress).

But because of the native WordPress APIs, we do have a level of abstraction that allows us to achieve much of the same functionality (if not the same functionality).

Specifically, I’m talking about wp_safe_remote_get.

This function is ideal when the HTTP request is being made to an arbitrary URL. The URL is validated to avoid redirection and request forgery attacks.

I specifically mention the safe variant of this function for the definition above (there is another variant, but it’s important to take precautions against arbitrary URLs for security reasons).
Continue reading

Episode 6 – PHP, UI, UX, A11Y, APIs (Oh My)

Regarding the podcast, two of the best things that’ve happened since the previous episode is that the number of questions is steadily increasing and people are saying they appreciate the length of the show.

So that’s good stuff, as far as I’m concerned.

Anyway, if you’ve previously subscribed to the show, then this episode should be available in your favorite app or service.

With that, here are the notes for this episode.

Continue reading

When The Browser and Terminal Show Different Versions of PHP

If you happen to see two different versions of PHP whenever you run:

  • php -v in the console and visit
  • phpinfo() in the browser

Then this usually means the version of PHP that your web server is using is different than the version of PHP your command-line is using.

Specifically, this means you likely have more than one installation, and the web server is using one version, and the terminal is using a different version (in addition to using a CLI version of the interpreter).

Of course, if you’re seeing the browser and the terminal show different versions of PHP then something is wrong. You want them to be the same, but depending on how your system is configured, then  you may need to update your environmental variables.

I was recently having issues with this with various installations of PHP installed via Homebrew and with my local installation of Valet.

This is what I did to fix it.

Continue reading

A Return to Form (Over a Decade in the Making)

I don’t know how many people are considered “regular readers” of this site (let alone any site, to be honest) because social media has changed how we find content, save it, and read it.

But if you’re someone who browses this site on any regular basis, then you’ve likely noticed that I’ve not posted anything related to development for a couple of weeks now.

Nothing’s wrong; life is good. But I’ve been taking a step back on several things in which I’m involved to take stock of essentially:

  • what I’m doing,
  • why I’m doing it,
  • what I want to continue to do,
  • and why I want to do it.

And if you were around when blogging was what it was, say, five years ago, then you know it’s considered “bad form” talk about not blogging and to get all apologetic about it.

I’m not getting apologetic about it, though.

Instead, I’m providing an update as to what I plan to do with this site moving forward.

And no, it’s not the type of post that contains anything related to WordPress development or programming.

Continue reading

On Alternative Methods of Blog Feedback

Last month, I published two articles that talked about using cURL to handle redirects that may inevitably happen when working with certain URLs.

Specifically, I’m talking about:

  1. Finding the Destination of a Redirect with PHP
  2. Using cURL to Determine If the Specified URL Is a Valid Page

And though the second one is more of the subject of this post, I wanted to reference both since they are related.

Earlier this month, I wrote a bit how the purpose of blogging has changed. Perhaps it would’ve been better to talk about the motivation rather than the purpose, but I digress.

In this post, I talk a bit about commenting and feedback. And since I’ve closed comments, one of the ways that people will talk with me about certain posts is via Twitter.

Case in point:

And I like this because it’s:

  • a clearly stated, succinct question,
  • it’s directed towards me (with the potential for others to chime in),
  • and it can keep the conversation on the topic without it devolving into something else in the comments.

Further, Xaver’s question is good because it shows where my content may be lacking, and it gives me the opportunity to write a follow-up or a clarification on a post like this 🙂.

The thing is, the response to this particular question may not be as long as the lead in, but I always want to give enough context before providing an answer.

Continue reading

« Older posts Newer posts »

© 2025 Tom McFarlin

Theme by Anders NorenUp ↑