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