Если вы действительно, действительно смелый, вы можете сделать это с расширением runkit. ( http://www.php.net/manual/en/book.runkit.php [/ д0]). Вы можете играть с runkit_method_redefine (вам может понадобиться Reflection также для извлечения определения метода), или, может быть, комбинация runkit_method_rename (старая функция) / runkit_method_add (новая функция, которая обертывает вызовы вашей функции test1 и старую функцию)