2011-12-22 2 views
2

Я пытаюсь переопределить реализацию 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() без всякой удачи.

+1

Я ничего не видел, относящееся к 'SetCookie()' по ссылке вы предоставили, и поиск 'set_setcookie_overload' дали только одну ссылку на этот вопрос. –

+0

Дэвид, похоже, расширение test_helpers позволяет переопределять встроенные функции PHP, такие как setcookie. В упомянутой ссылке автор предоставил пример, чтобы переопределить метод exit с помощью set_exit_overload. Я пытаюсь сделать то же самое для setcookie(), используя set_setcookie_overload() без всякой удачи. Извините за то, что я не понимаю. – pshah

+0

О, я вижу сейчас. Я видел примеры и искал cookie, но это более общий. Как вы подтвердили, что расширение работает - через CLI или Apache? Обычно они имеют отдельные конфиги. Работает ли он с помощью 'php -a' в интерактивном режиме? –

ответ

1

Доступные функции можно найти в источнике over at github. Все, начиная с PHP_FUNCTION, предоставляется пользователю для вызова.

Так что да. В php-test-helers просто нет set_setcookie_overload(). Вы должны найти другое обходное решение.

К сожалению rename_function не может помочь вам, так как он не работает с внутренними функциями.

Complete function list of the test_helpers extension

+0

Спасибо, Эдориан, похоже, мне не повезло. Мне придется искать другие подходы. – pshah

+0

Возможно, это не так сложно изменить и скомпилировать. В противном случае подайте запрос на вытягивание. Я в отпуске, или мне было бы любопытно попробовать это сам. :) –

Смежные вопросы