Hello l0t3k, never ever mix static and non static methods! The only reason this is possible is for having BC for old bullshit concepts. Apart from that use ZEND_ACC_ALLOW_STATIC if you really want that behavior but before you do think twice and again and then again if there is no correct way...
marcus Friday, July 2, 2004, 3:50:18 PM, you wrote: > in my extension, i have a class which has methods which work slightly > differently depending on whether or not they are called statically. > as an example : > $original = new UnicodeString("HELLO WORLD","utf8"); > $lower = UnicodeString::toLowerCase($original); /* returns a new copy > */ > $lower1 = $original->toLowerCase(); /* original is lowercased. return a > reference */ > the latter is for efficiency. imagine chains like > print_r($original->reverse()->toTitleCase()->split(" ")); /* no > intermediaries created work on $original*/ > while the former allows for transformations without affecting the original > string. > since the method can behave statically, it is marked as ZEND_ACC_STATIC. > however it appears that once marked as such, > getThis() always reports NULL. i've confirmed that marking it as non static > cause the object to be properly passed. > is this a WAD. if so, is it possible (at least for internal functions) for a > method to be called statically as well as in an object context ? > l0t3k -- Best regards, Marcus mailto:[EMAIL PROTECTED] -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php