Categories: PHP

I've been programming since 2005, and doing PHP since circa 2006, WordPress circe 2010. I never received a formal education in programming so, while I don't have school debt, I do have substantive gaps in my knowledge. Like a road with pot holes.


Recently, I've started a new company,, and shifted back into programming. As I've dived back in I am being reminded of the pot holes never filled. I've noticed these things are common among developers who pre-date the online-interactive-classes that exist today, and lack a formal education. So I put together this list of what I've found to be the hardest things to comprehend and learn in PHP and will add notes as I settle my questions:

  • __construct - I literally cannot understand what this is, when or how to use it. No amount of reading has helped me. This is a tough one I'll probably hire a private tutor for.
  • self::
  • "static" function - There was a time where I knew what this was, but I have since forgotten. I think, for me, I felt like "What's the point" with it. But I'm certain that shows some of my own ignorance.
  • == vs === - This is a Comparison Operator. If used indiscretionarily they function exactly the same. But, in reality, === assumes that what you're comparing are exactly the same type. So it's slightly faster than == which evaluates the type.