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, wppluginco.com, 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 .