[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-internals
Subject:    [PHP-DEV] Re: __call_static() Magic Method
From:       83.135.145.129
Date:       2007-07-26 15:23:08
Message-ID: CC.55.10081.26CB8A64 () pb1 ! pair ! com
[Download RAW message or body]

Hello,

where can i find the latest version of your patch?
Etienne Kneuss provided me a patch to track from where my class method
is called statically.

<?
	class foo {
		function doit() {
			echo get_called_class();
		}
	}

	foo::doit(); // with etiennes patch it will echo foo
?>

Will they work together?

cheers

*.sebastian deutsch

Sara Golemon schrieb:
> 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
> 

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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic