Возможный дубликат:
Функция вызывающего абонента в PHP 5?
Я хотел бы знать, откуда вызывается глобальная функция или публичный метод. Думаю, я мог бы это сделать, проверив debug_backtrace, но я предпочел бы использовать механизм более легкого веса, если он существует. Любые предложения?
Например, что-то вроде этого, если вы представляете функцию get_callee() и константу:
function doSomething() {
if(get_callee() == 'PHP_GLOBAL') { throw new IllegalAccessException(); }
...
}