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