>> typedef void (*fcall_begin_handler_func_t)(zend_op_array *op_array);
>> typedef void (*fcall_end_handler_func_t)(zend_op_array *op_array);
>>
>> struct _zend_extension {
>>     ...
>>     fcall_begin_handler_func_t fcall_begin_handler;
>>     fcall_end_handler_func_t fcall_end_handler;
>>     ...
>> };
>
> What about patching __call() so that it is always called?
>
I hesitate to solve a problem via engine patch if it's at all possible to do 
within an extension.  I havn't entirely mapped it out, but it certainly 
looks like some magic methods could be hooked out using a zend_extension: 
function __pre($funcname, &$args) {} and function __post($funcname, &$args, 
&$retval) for procedural calls and matching object methods for class calls. 
No time to look deeper myself, but curious to see what others come up with.

-Sara 

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

Reply via email to