PHP: Things that Annoy Me

It seems that nearly everyone who has dabbled to one extreme or another in PHP has a few gripes related to the language’s ad hoc design. It isn’t a very elegant language, nor is it well-suited to much outside the world of web applications. What it does do it does reasonably well, and its bar of entry is low enough that even novices can have a working site up and running with some dynamic components here and there within a few days of playing with sample code. Unlike more complicated frameworks of the Java, Python, or Ruby worlds, PHP requires little–if any–knowledge of common design patterns and practices. For better or for worse it’s a language that grew out of a set of utilities and still retains much of this feel–and design.

The volume of “PHP annoys me” articles have blossomed tremendously over the years. I think this is partially the result that those of us who essentially “grew up” with the language are now discovering with increasing frustration that the very things which made the language easy to use are what cause it (or more appropriately us) so much grief.

I’d like to contribute a little to beating this particular dead horse. Maybe it’s not quite dead yet.

Ahh, how I could make a Monty Python reference out of that!

Update, June 21, 2009 If you like this article, you might be interested in this site.

I want to read more…
No comments.
***

Read More Patch

Update May 31st

I have completed an early version of this plugin. Feel free to download it! The administrative page is fairly bare but it does the job.

I want to read more…
No comments.
***

easy_install Fails under Windows

I’ve seen a few questions on various Python mailing lists ranging from TurboGears to SQLite that appear to be centered around failures of easy_install under Windows. The problem generally manifests itself during the installation phase of a package with the cryptic message “not a valid archive type.” (Python supports zip, tar, gzip/bzipped tars, and so forth.) Oddly, I’ve never come across a reasonable answer!

Thankfully, this particular issue isn’t difficult to solve!

I want to read more…
No comments.
***