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

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to