Определите, в каком пространстве имен была вызвана функция

Мне было интересно, можно ли было определить текущее пространство имен при вызове функции. У меня есть это объявление функции:

<?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);
}
?>

И в другом файле:

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

И скажем, у меня есть это в качестве моего процедурного кода:

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

Имеет смысл предположить, чтоBar&nbsp;в этом случае был предназначен для решения какFoo\bar&nbsp;так как это было пространство имен, из которого он был вызван.

Это было длинное объяснение, поэтому еще раз, можно ли определить активное пространство имен, гдеSite\Action\add()&nbsp;был вызван из?

Заранее спасибо.