Q: What don’t you like about PHP?
It’s a ball of nails with almost no logic to it. From the perspective of software language design — as Tim Bray, co-creator of XML and at the time Directory of Sun Microsystems’s Web Technologies division, once said — “PHP is soul destroying.”
To take one of the most notorious examples: strpos
and in_array
.
In one, the order of variables is $needle, $haystack
in the other it is $haystack, $needle
. I challenge even the best PHP developers to remember which it is without a reference. Also, even though they both serve the same purpose they return different things and don’t obey a consistent naming convention: they should be named strpos
/arrayin
, posinstr
/inarray
or `str_pos`/`array_in`. That’s three terrible design choices in one single example!
Another example is the namespace separator in PHP is what is an escape sequence everywhere else \\
. Why? Because by the time PHP added namespaces, they had run out of ASCII symbols for the lexer.
I could go on and on, but I won’t.
I love the language sometimes because I hate it so much. 😉
Come see my talk in February 2019 at SunshinePHP in Florida!
i argued against that damn namespace delimiter as hard as i could.