I’ve been feeling a little blogged-out lately, as work is ramping up on a project with some critical milestones to be met, and the stress of getting my basement lair all renovated for occupation after Labour Day. But the mind never stops working. Here’s two big things that have been occupying my thoughts:
The arrival of PHP 5.3 and it’s impact on frameworks
When I upgraded my MacBook to Snow Leopard I noticed that it comes with PHP 5.3 as part of the standard install. After I got finished fixing my MacPorts install that I somehow butchered while following two different sets of instructions (way to go Chris), I was not at all surprised to find out that the framework I shall not say out loud did not like running with PHP 5.3. Tons of deprecation warnings abounded, and I had lost my enthusiasm for figuring out how to make them go away. If anyone cares to tell me, feel free to add it to the comments as I would prefer to run 5.3 on my laptop.
As far as I can tell, Zend Framework is the only framework that is claiming that it will run just fine in PHP 5.3.. Although I cut my teeth so-to-speak with another framework that has been good to me (hey, buy my book to see why, I cannot but remain impressed that a production-ready framework is ready to go with PHP 5.3.
Finally figuring out Design Patterns and how they relate to refactoring
In Coders At Work Brandon Eich talks about how Peter Norvig once said (I’m paraphrasing here) “a design pattern shows a flaw in your programming language”. As I’m expanding functionality for a project at work, I am starting to wonder if it’s maybe time I really looked at them closely. I see myself doing certain things in my code and wondering if there is an easier way to do them. You know, the same sort of if-the-else comparisons, having to do the same thing but slightly differently inside a method. Some of these are code smells, but I am wondering about what’s the best way to approach refactoring them.
Of course, you always have to consider the environment in which your code lives. Since I’m using a framework, there are rules I have to follow. Most of the time, these rules are okay. Other times I find myself fighting against them a tiny bit, which shows that maybe I need to go and buy the seminal classic on refactoring and read it. Maybe one of my generous readers would send me a copy?
Tags: Chris' Brain, design patterns, refactoring, Zend Framework

What's needed to make Cake 1.2 run on 5.3?
This patch:
https://trac.cakephp.org/ticket/6026
And also setting the default timezone in either php.ini (or other configuration) or in your bootstrap. That will suppress warnings whenever any date function is used.
That is what I did and my apps appear to run just fine so far.
Grab a copy of php|architect's book "Guide to PHP Design Patterns". It's a good short read on the topic, with examples in everybody's favourite lang.
http://bakery.cakephp.org/articles/view/clearing-...
Ah hem… Argil runs in 5.3
My comment's in the HTML source, but I think my formatting is preventing it from displaying properly with intensedebate.
Summary: The development version of CodeIgniter, the framework not named "out loud", has been compatible with PHP 5.3 since the end of July, and is quite stable.
In fact, our intent was to push 1.7.2 a few weeks ago, but we've simply had an incredibly hectic schedule throughout August. Look for it soon, but if you need PHP 5.3 compatibility immediately, checkout the latest revision in the subversion repository
Ah, but is it *production* ready?
Hi Derek, thanks for letting me know about Code Igniter's status with respect to 5.3. It's not that I *need* a version that is 5.3 compatible, it's just something that would be nice to have so I could keep my own dev environment at 5.3 instead of back in the 5.2 series.
If 1.7.2 works with 5.3, then I will update our project that uses it when it comes out.
I completely agree. It's dubious that any professional managed hosts with a responsible attitude towards their clients (and their own servers) will update anytime soon (particularly with 5.2.10 released near-simultaneously), so it's hung a few rungs below high priority.
However, it was a surprise to me (a pleasant one) that Apple included PHP 5.3 in Snow Leopard, and it's probably the main factor that will motivate me to make sure there's time for the release right away.
Many users do their development work on a local dev box, and a high percentage of both ExpressionEngine and CodeIgniter users are on OS X. So it is of course our desire to cater to that audience.
Symfony 1.2 is also PHP 5.3 compatible.