phpunit自定义setcookie实现
我想覆盖setcookie实现使用test_helpers PECL扩展没有任何运气。phpunit自定义setcookie实现
$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扩展允许覆盖像setcookie这样的内置PHP函数。在上面的链接中,作者提供了一个使用set_exit_overload()覆盖退出方法的示例。我正在尝试使用set_setcookie_overload()为setcookie()做同样的事情,但没有任何运气。
可用的功能可在源over at github
中找到。所有以PHP_FUNCTION
开头的信息都会暴露给用户来致电。
所以是的。在php-test-helpers中没有set_setcookie_overload()
。你必须找到另一种解决方法。
遗憾的是rename_function
不能帮助你,因为它不适用于内部功能。
谢谢edorian,这听起来像我运气不好。我不得不寻找其他方法。 – pshah 2011-12-27 23:52:04
修改和编译自己可能并不难。否则,请提交拉取请求。我正在度假,或者我很想好好尝试一下。 :) – 2011-12-28 23:10:45
,我没有看到有关'的setcookie什么()'的链接,您提供的,和'set_setcookie_overload'搜索只产生一个链接到这个问题。 – 2011-12-22 23:28:51
David,听起来像test_helpers扩展允许覆盖像setcookie这样的内置PHP函数。在提到的链接中,作者提供了一个使用set_exit_overload覆盖退出方法的示例。我正在尝试使用set_setcookie_overload()为setcookie()做同样的事情,但没有任何运气。对不起,不清楚。 – pshah 2011-12-22 23:54:03
哦,我现在看到了。我看到了这些示例并搜索了cookie,但这更通用。你是如何通过CLI或Apache验证扩展是如何工作的?他们通常具有不同的配置。它交互使用'php -a'工作吗? – 2011-12-23 04:58:16