Hi all.
I have just messed around with the php 5 code so to find a way to implement 
some way to make objects call some magic method when there is an invocation 
of a non existent method, or a setting of a non existent data member (this 
last may not be neccesary by now for what i am implementint, but it would be 
correct to implement them both).
I have tracked in the zend_execute.c file, line 2507, the call to the error 
when the method is not found, inside the function 
zend_init_method_call_handler
My question is: the parameter lists in every call is a defined constant... it 
just becomes impossible to backtrack, can someone give me just a bit of 
information on this topic?
What i think would be correct is that the function that calls 
zend_init_method_call_handler receives an error in the case the method is not 
found, and in that case it calls the handler again calling __invoke() with an 
array of the original parameters and the name of the original function that 
was called. Another method would be to always call __invoke() passing it the 
original call information, and depending on the return code of __invoke() 
then execute the original call.
However, I can't find where this hook should be placed around the code. If 
someone can give me a bit of info on this topic, i would love to make the 
patch.

With regards
-- 

Leonardo Pedretti
Axon Sistemas
Líder de Equipo Proyecto Basalto

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

Reply via email to