Determine em qual namespace a função foi chamada

Eu estava imaginando se era possível determinar qual era o namespace atual quando a função estava sendo chamada. Eu tenho esta declaração de função:

<?php
namespace Site\Action;
function add ($hook, $function) {
    /**
     * determine the namespace this was called from because
     * __NAMESPACE__ is "site\action" :(
     */
     if (is_callable($function))
         call_user_func($function);
}
?>

E em outro arquivo:

<?php
namespace Foo;
function bar () {
}
?>

E digamos que eu tenho isso como meu código processual:

<?php
namespace Foo;
Site\Action\add('hookname', 'bar');
?>

Faria sentido assumir queBar nesse caso foi planejado para resolver comoFoo\bar já que esse era o namespace do qual foi chamad

Essa foi uma longa explicação, então é possível determinar o espaço para nome ativo em queSite\Action\add() foi chamado de

Desde já, obrigado

questionAnswers(3)

yourAnswerToTheQuestion