diff --git a/.gitignore b/.gitignore index 1d981fb5..b9ed03eb 100644 --- a/.gitignore +++ b/.gitignore @@ -20,11 +20,13 @@ config.status config.sub configure configure.in +configure.ac http.la install-sh lcov_data libtool ltmain.sh +ltmain.sh.backup missing mkinstalldirs modules/ @@ -32,6 +34,7 @@ pecl_http-*.tgz *.lo *.o run-tests.php +run-tests.sh tests/*.diff tests/*.exp tests/*.log diff --git a/src/php_http_client.c b/src/php_http_client.c index f1ef55d5..0c06cd2b 100644 --- a/src/php_http_client.c +++ b/src/php_http_client.c @@ -984,7 +984,11 @@ static int notify(zend_object_iterator *iter, void *puser) return ZEND_HASH_APPLY_STOP; } +#if PHP_VERSION_ID < 80100 ZEND_BEGIN_ARG_INFO_EX(ai_HttpClient_notify, 0, 0, 0) +#else +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_HttpClient_notify, 0, 0, IS_VOID, 0) +#endif ZEND_ARG_OBJ_INFO(0, request, http\\Client\\Request, 1) ZEND_ARG_INFO(0, progress) ZEND_END_ARG_INFO(); @@ -1032,7 +1036,11 @@ static PHP_METHOD(HttpClient, notify) RETVAL_ZVAL(getThis(), 1, 0); } +#if PHP_VERSION_ID < 80100 ZEND_BEGIN_ARG_INFO_EX(ai_HttpClient_attach, 0, 0, 1) +#else +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_HttpClient_attach, 0, 1, IS_VOID, 0) +#endif ZEND_ARG_OBJ_INFO(0, observer, SplObserver, 0) ZEND_END_ARG_INFO(); static PHP_METHOD(HttpClient, attach) @@ -1061,7 +1069,11 @@ static PHP_METHOD(HttpClient, attach) RETVAL_ZVAL(getThis(), 1, 0); } +#if PHP_VERSION_ID < 80100 ZEND_BEGIN_ARG_INFO_EX(ai_HttpClient_detach, 0, 0, 1) +#else +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(ai_HttpClient_detach, 0, 1, IS_VOID, 0) +#endif ZEND_ARG_OBJ_INFO(0, observer, SplObserver, 0) ZEND_END_ARG_INFO(); static PHP_METHOD(HttpClient, detach) diff --git a/tests/client002.phpt b/tests/client002.phpt index 6f01a444..0da72d00 100644 --- a/tests/client002.phpt +++ b/tests/client002.phpt @@ -14,6 +14,7 @@ echo "Test\n"; class Observer implements SplObserver { + #[ReturnTypeWillChange] function update(SplSubject $client, http\Client\Request $request = null, StdClass $progress = null) { echo "P"; if ($progress->info !== "prepare" && $client->getProgressInfo($request) != $progress) { diff --git a/tests/client012.phpt b/tests/client012.phpt index 0e72628b..9b4dde79 100644 --- a/tests/client012.phpt +++ b/tests/client012.phpt @@ -26,6 +26,7 @@ var_dump( $client->attach($observer = new class implements SplObserver { public $data = []; + #[ReturnTypeWillChange] function update(SplSubject $client, $req = null, $progress = null) { $ti = $client->getTransferInfo($req); if (isset($ti->tls_session["internals"])) { diff --git a/tests/client013.phpt b/tests/client013.phpt index 477edf7f..962d448e 100644 --- a/tests/client013.phpt +++ b/tests/client013.phpt @@ -16,11 +16,13 @@ class Client extends http\Client { public $pi; } class ProgressObserver1 implements SplObserver { + #[ReturnTypeWillChange] function update(SplSubject $c, $r = null) { if ($c->getProgressInfo($r)) $c->pi .= "-"; } } class ProgressObserver2 implements SplObserver { + #[ReturnTypeWillChange] function update(SplSubject $c, $r = null) { if ($c->getProgressInfo($r)) $c->pi .= "."; } @@ -30,6 +32,7 @@ class CallbackObserver implements SplObserver { function __construct($callback) { $this->callback = $callback; } + #[ReturnTypeWillChange] function update(SplSubject $c, $r = null) { call_user_func($this->callback, $c, $r); } diff --git a/tests/client030.phpt b/tests/client030.phpt index 8514b4e9..156469f3 100644 --- a/tests/client030.phpt +++ b/tests/client030.phpt @@ -12,6 +12,7 @@ echo "Test\n"; include "helper/server.inc"; class test implements SplObserver { + #[ReturnTypeWillChange] function update(SplSubject $client) { $client->once(); } @@ -33,4 +34,4 @@ server("proxy.inc", function($port) { --EXPECTF-- Test int(200) -===DONE=== \ No newline at end of file +===DONE=== diff --git a/tests/envresponse016.phpt b/tests/envresponse016.phpt index 8d48c937..e8b7a61e 100644 --- a/tests/envresponse016.phpt +++ b/tests/envresponse016.phpt @@ -10,6 +10,7 @@ include "skipif.inc"; echo "Test\n"; class closer extends php_user_filter { + #[ReturnTypeWillChange] function filter ($in, $out, &$consumed, $closing) { while ($bucket = stream_bucket_make_writeable($in)) { stream_bucket_append($out, $bucket);