The next time someone asks you why web programmers prefer Firefox to Internet Explorer, send them a link to this post. (Even if they don't understand it!)
The increasing popularity of Ajax technologies for web application development has increased the use of JavaScript. When I first released my first open source project, xajax, back in May of 2005, the term Ajax was only a few months old. Programming in JavaScript has since become a major part of my everyday work, and increasingly a growing number of bugs found in our applications are related to inconsistencies in JavaScript implementations in different web browsers.
Most programmers who work extensively in JavaScript have been stung, often more than once, by Microsoft's shoddy, non-standard implementation of manipulating the HTML DOM using JavaScript. IE7 has been an improvement, but it still has some bugs that make programmers want to rip out their hair.
One of the cornerstone functions for JavaScript DOM manipulation is the document.getElementById() method which allows the program to get any element in the HTML by its id attribute, which is supposed to uniquely identify that element.
This article is about a technical aspect of computer programming and since I know that many of my readers are not computer programmers, and of those that are, many do not program in PHP, you may safely ignore it unless it interests you.
As I’ve been working on a light-weight data access layer for PHP5.1+ that I hope to release as open source in the near future, I have discovered an annoying design flaw in PHP.
Support for a more object-oriented approach to programming has been greatly improved since the introduction of PHP5. PHP also offers some magic methods that can be used to simulate properties and methods without having to actually declare them individually. These are great for implementing on the fly methods and properties.
But these magic “overloading” methods don’t function exactly as expected when it comes to inherited child classes.



