Note to self
13th August 2003
When writing an XML parsing class in PHP, don’t forget the ampersands in the following code snippet:
xml_set_element_handler($parser, array(&$this, '_tagOpen'), array(&$this, '_tagClose'));
xml_set_character_data_handler($parser, array(&$this, '_cdata'));
Failure to include them can lead to two days of debugging, frustration and hair loss. Solution found thanks to Keith’s PHP rant (which itself reads like the result of several days of hell). Roll on PHP 5, where objects are passed by reference by default.
More recent articles
- Hello Python 3.15, goodbye 3.10, and now I can use 3.11 - 12th October 2026
- A new feature for my blog, built using my voice - 9th October 2026
- Claude Haiku 5.5 - 7th October 2026
- We're going to need default hard budget caps on pretty much everything - 3rd October 2026