I was asked off-list by someone else why I thought it was wrong, it turns out that I wasn't as clear as I could have been, so I'm going to follow up here and then withdraw (because I don't consider it an internals matter).
It *is* ok to have a static method and call it either statically or not, provided that the method still behave statically (eg: the same) in both contexts. It is *not* ok to have a static method try and work like a non static method. In PHP 5, declaring a static method will prevent $this from being initialized. static means static. Take this as a hint that what you're trying to do it wrong :-) If you want to hack around the guts and do unsupported stuff like this, be prepared for your code to break in future versions of PHP. *cough* gallery assigning to $this *cough* --Wez. On Mon, 04 Oct 2004 14:34:36 +0200, Christian Schneider <[EMAIL PROTECTED]> wrote: > Wez Furlong wrote: > > If a method is static, you should only ever call it statically. > > Doing any other tricks is just plain wrong. > > I dare to disagree. For tool functions it often makes sense to make them > statically callable while you still might want to use them in an object > instance context respecting the instance's state. It may seem a bit > hacky but I like PHP for being dynamic enough to allow this. > > Different people use different styles and I wouldn't say "Using > exceptions is just plain wrong" even though I don't like them ;-) > > > If you still want to know the answer, ask the question on the correct > > list; what you've asked has nothing to do with hacking on the > > internals of PHP in C. > > He is asking for a mechanism to properly determine the static/non-static > status of a call and I assume he also suggests to add such a mechanism > in case it doesn't exist so I think your answer should be less hostile > as it concerns internals IMHO. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php