Не могу разобраться с этим, есть ли способ проверить, был ли метод вызван изнутри?Под этим я подразумеваю трассировку, чтобы проверить, был ли он вызван $ this, а не указатель на экземпляр.Вроде как концепция частной функции, но только функция является публичной?
<?php
class Foo {
public function check () {
/*
if invoked by $this (internally)
return true
else
return false
*/
}
public function callCheck () {
/* returns true because its called by $this */
return $this->check();
}
}
$bar = new Foo;
// this should return false because we are calling it from an instance
$bar->check();
// where as this will return true
$bar->callCheck();
?>
Может быть, это невозможно, но мне действительно нужно это для моего проекта в университете?Кто-нибудь сталкивался с решением или знает, как я мог бы найти решение.
Спасибо.