Паблик Морозов на собеседовании

Есть у меня статья про то, как Паблик Морозов на собеседовании получал доступы к private и protected полям. С выходом PHP 7.4, который зарелизится 28 ноября 2019 года, можно переписать пару примеров. Один из таких примеров с использованием лямбд.

Простая универсальная отмычка на PHP 7.4:

<?php

function & crackprop(object $obj, string $prop) {

return (Closure::bind(fn&()=>$this->$prop,$obj,$obj))();}
<?php

$pm = new PublicMorozov;

$foo = &crackprop($pm, 'foo');
$foo = 456;

var_dump($foo);
var_dump($pm->foo());

Подробности про доступ к закрытым полям читайте в предыдущей статье:

FunPHP#5: access to private and protected
Паблик Морозов на собеседовании PHP protected & private property hacker На собеседованиях каких вопросов только не встретишь. Матерые волки, собеседуя php-гуру, могут спрашивать разные нетривиальные вещи. Одна из таких вещей: паттерн “Паблик Морозов”. > Паблик Морозов — антипаттерн, позволяющий по…