пользовательская реализация setcookie с помощью phpunit - PullRequest
2 голосов
/ 23 декабря 2011

Я безуспешно пытаюсь переопределить реализацию setcookie, используя расширение PECL test_helpers.

    $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. В приведенной выше ссылке автор предоставил пример для переопределения метода выхода с помощью set_exit_overload (). Я пытаюсь сделать то же самое для setcookie () с помощью set_setcookie_overload () без какой-либо удачи.

1 Ответ

2 голосов
/ 27 декабря 2011

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

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

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

Полный список функций расширения test_helpers

...