in reply to
$foo->bar = 14;
Before I'm going to change my coding style, I'd like to know what the community thinks of it.
One problem with the approach you set forth is that it doesn't survive subclassing.
Personally, I don't favor automatic creation of accessors (or mutators) at runtime. Development-time code generation can be good, but my experiences with delaying generation until runtime have almost always led to a debugging quagmire. I want accessors/mutators reflected directly in the source.