On Tue, 23 Mar 2004, Brad Fisher wrote: > Rasmus Lerdorf wrote: > > > I could see people doing: > > > > class foo { > > function foo() { > > ...constructor stuff... > > } > > function __construct() { > > $this->foo(); > > } > > } > > I actually prefer it the other way around... foo would call __construct in > PHP4, and __construct would be called directly in PHP5 (with foo being > ignored). As I understand the docs on php.net regading PHP5, the __construct > method has precedence over foo as a constructor. I've also run into a case > where a class worked fine in PHP4 and not in PHP5 because of a method > existing with the same name as the class. It was seen as a constructor, and > not a method, even though it is always called statically.
Sure, but George was asking for a case. I think the case where you have some existing PHP4 code that you want to make minimal changes to but you might have a little bit of PHP5-specific code to run in the constructor I could see this sort of chaining being something people want. I am not saying that is the way people should create a portable class, just that I could see such code popping up. And the question was what to do about the old-style constructor method. I think it would be very confusing if it was some sort of illegal method name that wasn't callable. -Rasmus -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php