определяет какая функцию этого класса будет вызвана, причем передавать параметры в вызов мы не можем, ибо вызов у нас один в файле demo.php
Код:
$name = $user->name; // Getting the current user name
маппер передаётся сериализованным от клиента, другими словами мы можем подделать вызов функции на нужную переопределив вызываемый класс, он хранится в GenericMapper( который отнаследован от ArrayAccess ) $this->realObject
чего я смог добиться... отправляю класс User и класс Debug
в дебаг классе переопределяю переменную debugStateName с _DEBUG на flag, затем вызываю через модифицированный маппер функцию debugStateName( которая в debug классе )
Код:
public function getDebugState() {
return $GLOBALS[$this->debugStateName];
}
в итоге мы получаем в $name флаг
Код:
$name = $user->name; // Getting the current user name
но подвох в том что $name нигде не выводится
конечно мы можем вызвать showNice или show из дебаг класса, но вызов то подменить мы можем только один..
в общем я пока сам в тупике, могу скинуть рабочую версию скрипта, если нужно, который прокидывает в $name флаг