<?php
class MyClass
{
// find out where $myClass->exec() was called
static function getInstantiatingClass()
{
}
{
echo __METHOD__ . ' was called from Class ' . self::getInstantiatingClass();
}
}
class Demo
{
function test()
{
$myClass = new MyClass;
}
}
$demo = new Demo;
$demo->test();
PD9waHAKCmNsYXNzIE15Q2xhc3MKewogICAgLy8gZmluZCBvdXQgd2hlcmUgJG15Q2xhc3MtPmV4ZWMoKSB3YXMgY2FsbGVkCiAgICBzdGF0aWMgZnVuY3Rpb24gZ2V0SW5zdGFudGlhdGluZ0NsYXNzKCkKICAgIHsgICAKICAgICAgICByZXR1cm4gZGVidWdfYmFja3RyYWNlKDIsIDMpWzJdWydjbGFzcyddOwogICAgfQoKICAgIGZ1bmN0aW9uIGV4ZWMoKQogICAgewogICAgICAgIGVjaG8gX19NRVRIT0RfXyAuICcgd2FzIGNhbGxlZCBmcm9tIENsYXNzICcgLiBzZWxmOjpnZXRJbnN0YW50aWF0aW5nQ2xhc3MoKTsKICAgIH0KfQoKY2xhc3MgRGVtbwp7CiAgICBmdW5jdGlvbiB0ZXN0KCkKICAgIHsKICAgICAgICAkbXlDbGFzcyA9IG5ldyBNeUNsYXNzOwogICAgICAgICRteUNsYXNzLT5leGVjKCk7CiAgICB9Cn0KCiRkZW1vID0gbmV3IERlbW87CiRkZW1vLT50ZXN0KCk7