Если у меня было два класса в отдельных пространствах имен (и, следовательно, в файлах), и они оба вызывали функцию в глобальном пространстве имен - есть ли способ определить, какое пространство имен вызвало эту функцию, если не передать значение?
namespace A;
class Test { function run() { \func(); }
...
namespace B;
class Test { function run() { \func(); }
...
function func()
{
// Did a class from "\A" call me or "\B"...?
}
Моей первой мыслью было использование константы __NAMESPACE__ . Но это вычисляется вместо , поэтому это не решит эту проблему.