Здесь основной посыл статьи не в том, как тесты в итоге реализовать пришлось, а в том, что с помощью Closure::bind() действительно можно сломать то, что якобы сломать невозможно.
Если мы заменим код на такой:
$createNewInstance = function () {
$instance = new self();
self::$instance = $instance;
return $instance;
};
то мы вовсе заменим оригинальный объект новым.
Что-то здесь действительно не так, мы с помощью этого функционала можем вообще влезть в логику любого класса, работать с приватными свойствами и методами. Понятие инкапсуляция теперь очень размытое.
Следующим что будет, добавление новых методов в классы? :)
На тот момент, врачи нас очень сильно напугали. Их главная цель была, сделать вакцинацию, но за плод они не в ответе. Представьте, какое наше моральное состояние было в тот момент.
В течении недели, таки нашли ту собаку (а может и не ту, а просто похожую на нее), вызвали специалистов, чтобы оценили ее состояние, ну и специалисты с виду глянули на нее, слюни не текут, вероятнее всего здорова. Даже никакого карантина не последовало. Понятное дело, выводы о здоровье собаки на этом основании делать нельзя, но в этом мы нашли небольшое подкрепление веры в то, что все будет хорошо. После рождения ребенка об этом ужасе забыли.
А как же вакцинация при беременности? Ничего не сказано об этом.
Мою жену в 2011-м году, на 7-м месяце беременности укусила дворовая собака. В первый же день обратились в травмпункт, где нам четко объяснили, что вакцинацию делать надо, но ребенок при этом скорее всего не выживет или родится с отклонениями. Это был сложный выбор, жена отказалась делать вакцинацию, к счастью все обошлось. Не знаю, как сейчас, может уже вакцины другие, но при беременности это очень сложный выбор, на чаше весов либо 2 жизни, либо ни одной…
Здесь основной посыл статьи не в том, как тесты в итоге реализовать пришлось, а в том, что с помощью Closure::bind() действительно можно сломать то, что якобы сломать невозможно.
Если мы заменим код на такой:
то мы вовсе заменим оригинальный объект новым.
Что-то здесь действительно не так, мы с помощью этого функционала можем вообще влезть в логику любого класса, работать с приватными свойствами и методами. Понятие инкапсуляция теперь очень размытое.
Следующим что будет, добавление новых методов в классы? :)
В течении недели, таки нашли ту собаку (а может и не ту, а просто похожую на нее), вызвали специалистов, чтобы оценили ее состояние, ну и специалисты с виду глянули на нее, слюни не текут, вероятнее всего здорова. Даже никакого карантина не последовало. Понятное дело, выводы о здоровье собаки на этом основании делать нельзя, но в этом мы нашли небольшое подкрепление веры в то, что все будет хорошо. После рождения ребенка об этом ужасе забыли.
Мою жену в 2011-м году, на 7-м месяце беременности укусила дворовая собака. В первый же день обратились в травмпункт, где нам четко объяснили, что вакцинацию делать надо, но ребенок при этом скорее всего не выживет или родится с отклонениями. Это был сложный выбор, жена отказалась делать вакцинацию, к счастью все обошлось. Не знаю, как сейчас, может уже вакцины другие, но при беременности это очень сложный выбор, на чаше весов либо 2 жизни, либо ни одной…