Я пытаюсь переопределить реализацию setcookie с помощью расширения test_helpers PECL без везения.custom setcookie реализация с phpunit
$username = 'test';
set_setcookie_overload(function() { error_log('setcookie called'); return FALSE; });
setcookie('username', $userName, time()+60*60*24*365, '/');
unset_setcookie_overload();
Я получаю эту ошибку: PHP Фатальная ошибка: Вызов неопределенной функции set_setcookie_overload()
Я проверил, что расширение хорошо работает на примере здесь: https://github.com/sebastianbergmann/php-test-helpers
Спасибо.
Обновление: Для уточнения, похоже, расширение test_helpers позволяет переопределять встроенные функции PHP, такие как setcookie. В приведенной выше ссылке автор предоставил пример, чтобы переопределить метод exit с помощью set_exit_overload(). Я пытаюсь сделать то же самое для setcookie(), используя set_setcookie_overload() без всякой удачи.
Я ничего не видел, относящееся к 'SetCookie()' по ссылке вы предоставили, и поиск 'set_setcookie_overload' дали только одну ссылку на этот вопрос. –
Дэвид, похоже, расширение test_helpers позволяет переопределять встроенные функции PHP, такие как setcookie. В упомянутой ссылке автор предоставил пример, чтобы переопределить метод exit с помощью set_exit_overload. Я пытаюсь сделать то же самое для setcookie(), используя set_setcookie_overload() без всякой удачи. Извините за то, что я не понимаю. – pshah
О, я вижу сейчас. Я видел примеры и искал cookie, но это более общий. Как вы подтвердили, что расширение работает - через CLI или Apache? Обычно они имеют отдельные конфиги. Работает ли он с помощью 'php -a' в интерактивном режиме? –