This is actually a very good idea. I had to put a hook into the opcode handler 
for static method calls to get the same result which is not really elegant. I 
was waiting for this feature for a couple month.
Also I found out that the names of the static methods are already lowercase 
when it comes to the handler, i don't know if that is fixed in the meanwhile.

On Saturday 14 July 2007 02:53:44 Sara Golemon wrote:
> Attached is a patch which exports an internals hook in zend_class_entry
> for fetching function pointers similar to the object hook get_method()
> available to instance methods.
>
> This patch also exports a userspace hook __call_static() which operates
> in the fashion of the current __call() magic method, but for static calls.
>
> Wez called for some functionality like this a few weeks ago for a COM
> wrapper (or something similar), and I noticed there was actually a
> comment in the engine about how this should eventually be done anyway...
>
> Usage example:
>
> class foo
> {
>      public static function __call_static($fname, $args)
>      {
>          echo "foo::{$fname}() called staticly with ",
>               count($args), " parameters\n";
>      }
> }
>
> foo::randomMethod(1,2,3);
>
>
> I considered setting get_static_method to zend_std_get_static_method()
> by default (avoiding the if set check during runtime), but all the other
> hoooks follow this pattern so I went with consistency.
>
> If noone comments to the negative, I'll commit next friday (7/20)...
>
> -Sara



-- 
Thomas

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

Reply via email to