From 056de7d13df6d3bc3e5ad40756d3c483f183bf6d Mon Sep 17 00:00:00 2001 From: Zach Borboa Date: Tue, 18 Feb 2025 21:49:22 -0500 Subject: [PATCH 1/2] Use default for Psalm ensureOverrideAttribute (#923) * Use default for Psalm ensureOverrideAttribute * Fix missing Override attributes Error: ../src/Curl/CaseInsensitiveArray.php:66:5: MissingOverrideAttribute: Method Curl\CaseInsensitiveArray::offsetset should have the "Override" attribute (see https://psalm.dev/358) --- src/Curl/CaseInsensitiveArray.php | 10 ++++++++++ src/Curl/Curl.php | 17 +++++++++++++++++ src/Curl/MultiCurl.php | 16 ++++++++++++++++ tests/psalm.xml | 1 - 4 files changed, 43 insertions(+), 1 deletion(-) diff --git a/src/Curl/CaseInsensitiveArray.php b/src/Curl/CaseInsensitiveArray.php index 72b757a7e7..bc2daca0e3 100644 --- a/src/Curl/CaseInsensitiveArray.php +++ b/src/Curl/CaseInsensitiveArray.php @@ -63,6 +63,7 @@ public function __construct(?array $initial = null) * @return void * @see https://secure.php.net/manual/en/arrayaccess.offsetset.php */ + #[\Override] #[\ReturnTypeWillChange] public function offsetSet($offset, $value) { @@ -85,6 +86,7 @@ public function offsetSet($offset, $value) * @return bool If the offset exists. * @see https://secure.php.net/manual/en/arrayaccess.offsetexists.php */ + #[\Override] #[\ReturnTypeWillChange] public function offsetExists($offset) { @@ -101,6 +103,7 @@ public function offsetExists($offset) * @return void * @see https://secure.php.net/manual/en/arrayaccess.offsetunset.php */ + #[\Override] #[\ReturnTypeWillChange] public function offsetUnset($offset) { @@ -119,6 +122,7 @@ public function offsetUnset($offset) * @return mixed The data stored at the offset. * @see https://secure.php.net/manual/en/arrayaccess.offsetget.php */ + #[\Override] #[\ReturnTypeWillChange] public function offsetGet($offset) { @@ -132,6 +136,7 @@ public function offsetGet($offset) * @return int The number of elements stored in the array. * @see https://secure.php.net/manual/en/countable.count.php */ + #[\Override] #[\ReturnTypeWillChange] public function count() { @@ -144,6 +149,7 @@ public function count() * @return mixed Data at the current position. * @see https://secure.php.net/manual/en/iterator.current.php */ + #[\Override] #[\ReturnTypeWillChange] public function current() { @@ -156,6 +162,7 @@ public function current() * @return void * @see https://secure.php.net/manual/en/iterator.next.php */ + #[\Override] #[\ReturnTypeWillChange] public function next() { @@ -168,6 +175,7 @@ public function next() * @return mixed Case-sensitive key at current position. * @see https://secure.php.net/manual/en/iterator.key.php */ + #[\Override] #[\ReturnTypeWillChange] public function key() { @@ -181,6 +189,7 @@ public function key() * @return bool If the current position is valid. * @see https://secure.php.net/manual/en/iterator.valid.php */ + #[\Override] #[\ReturnTypeWillChange] public function valid() { @@ -193,6 +202,7 @@ public function valid() * @return void * @see https://secure.php.net/manual/en/iterator.rewind.php */ + #[\Override] #[\ReturnTypeWillChange] public function rewind() { diff --git a/src/Curl/Curl.php b/src/Curl/Curl.php index 0473911946..6ff988410c 100644 --- a/src/Curl/Curl.php +++ b/src/Curl/Curl.php @@ -236,6 +236,7 @@ public function call() /** * Close */ + #[\Override] public function close() { if (is_resource($this->curl) || $this->curl instanceof \CurlHandle) { @@ -807,6 +808,7 @@ public function search($url, $data = []) * @param $key * @param $value */ + #[\Override] public function setCookie($key, $value) { $this->setEncodedCookie($key, $value); @@ -818,6 +820,7 @@ public function setCookie($key, $value) * * @param $cookies */ + #[\Override] public function setCookies($cookies) { foreach ($cookies as $key => $value) { @@ -868,6 +871,7 @@ public function setMaxFilesize($bytes) * @param $string * @return bool */ + #[\Override] public function setCookieString($string) { return $this->setOpt(CURLOPT_COOKIE, $string); @@ -879,6 +883,7 @@ public function setCookieString($string) * @param $cookie_file * @return bool */ + #[\Override] public function setCookieFile($cookie_file) { return $this->setOpt(CURLOPT_COOKIEFILE, $cookie_file); @@ -890,6 +895,7 @@ public function setCookieFile($cookie_file) * @param $cookie_jar * @return bool */ + #[\Override] public function setCookieJar($cookie_jar) { return $this->setOpt(CURLOPT_COOKIEJAR, $cookie_jar); @@ -996,6 +1002,7 @@ private function getDefaultUserAgent() * @param $key * @param $value */ + #[\Override] public function setHeader($key, $value) { $this->headers[$key] = $value; @@ -1013,6 +1020,7 @@ public function setHeader($key, $value) * * @param $headers */ + #[\Override] public function setHeaders($headers) { if (ArrayUtil::isArrayAssoc($headers)) { @@ -1043,6 +1051,7 @@ public function setHeaders($headers) * * @param $mixed boolean|callable */ + #[\Override] public function setJsonDecoder($mixed) { if ($mixed === false || is_callable($mixed)) { @@ -1056,6 +1065,7 @@ public function setJsonDecoder($mixed) * * @param $mixed boolean|callable */ + #[\Override] public function setXmlDecoder($mixed) { if ($mixed === false || is_callable($mixed)) { @@ -1071,6 +1081,7 @@ public function setXmlDecoder($mixed) * @param $value * @return bool */ + #[\Override] public function setOpt($option, $value) { $required_options = [ @@ -1096,6 +1107,7 @@ public function setOpt($option, $value) * @param $value * @return bool */ + #[\Override] protected function setOptInternal($option, $value) { $success = curl_setopt($this->curl, $option, $value); @@ -1115,6 +1127,7 @@ protected function setOptInternal($option, $value) * returned, ignoring any future options in the options array. * Similar to curl_setopt_array(). */ + #[\Override] public function setOpts($options) { if (!count($options)) { @@ -1159,6 +1172,7 @@ private function setProtocolsInternal($protocols) * * @param $mixed */ + #[\Override] public function setRetry($mixed) { if (is_callable($mixed)) { @@ -1193,6 +1207,7 @@ private function setRedirectProtocolsInternal($redirect_protocols) * @param $url * @param $mixed_data */ + #[\Override] public function setUrl($url, $mixed_data = '') { $built_url = Url::buildUrl($url, $mixed_data); @@ -1235,6 +1250,7 @@ public function attemptRetry() * * @param $key */ + #[\Override] public function unsetHeader($key) { unset($this->headers[$key]); @@ -2132,6 +2148,7 @@ private function setStopInternal($callback = null) * * Used by MultiCurl::stop() when making multiple parallel requests. */ + #[\Override] public function stop() { $this->headerCallbackData->stopRequest = true; diff --git a/src/Curl/MultiCurl.php b/src/Curl/MultiCurl.php index d84c09bfdc..6baa347d5a 100644 --- a/src/Curl/MultiCurl.php +++ b/src/Curl/MultiCurl.php @@ -348,6 +348,7 @@ public function addCurl(Curl $curl) /** * Close */ + #[\Override] public function close() { foreach ($this->queuedCurls as $curl) { @@ -376,6 +377,7 @@ public function setConcurrency($concurrency) * @param $key * @param $value */ + #[\Override] public function setCookie($key, $value) { $this->cookies[$key] = $value; @@ -386,6 +388,7 @@ public function setCookie($key, $value) * * @param $cookies */ + #[\Override] public function setCookies($cookies) { foreach ($cookies as $key => $value) { @@ -398,6 +401,7 @@ public function setCookies($cookies) * * @param $string */ + #[\Override] public function setCookieString($string) { $this->setOpt(CURLOPT_COOKIE, $string); @@ -408,6 +412,7 @@ public function setCookieString($string) * * @param $cookie_file */ + #[\Override] public function setCookieFile($cookie_file) { $this->setOpt(CURLOPT_COOKIEFILE, $cookie_file); @@ -418,6 +423,7 @@ public function setCookieFile($cookie_file) * * @param $cookie_jar */ + #[\Override] public function setCookieJar($cookie_jar) { $this->setOpt(CURLOPT_COOKIEJAR, $cookie_jar); @@ -431,6 +437,7 @@ public function setCookieJar($cookie_jar) * @param $key * @param $value */ + #[\Override] public function setHeader($key, $value) { $this->headers[$key] = $value; @@ -444,6 +451,7 @@ public function setHeader($key, $value) * * @param $headers */ + #[\Override] public function setHeaders($headers) { if (ArrayUtil::isArrayAssoc($headers)) { @@ -469,6 +477,7 @@ public function setHeaders($headers) * * @param $mixed boolean|callable */ + #[\Override] public function setJsonDecoder($mixed) { if ($mixed === false) { @@ -483,6 +492,7 @@ public function setJsonDecoder($mixed) * * @param $mixed boolean|callable */ + #[\Override] public function setXmlDecoder($mixed) { if ($mixed === false) { @@ -512,6 +522,7 @@ public function setProxies($proxies) * @param $option * @param $value */ + #[\Override] public function setOpt($option, $value) { $this->options[$option] = $value; @@ -536,6 +547,7 @@ public function setOpt($option, $value) * * @param $options */ + #[\Override] public function setOpts($options) { foreach ($options as $option => $value) { @@ -608,6 +620,7 @@ public function setRateLimit($rate_limit) * * @param $mixed */ + #[\Override] public function setRetry($mixed) { $this->retry = $mixed; @@ -619,6 +632,7 @@ public function setRetry($mixed) * @param $url * @param $mixed_data */ + #[\Override] public function setUrl($url, $mixed_data = '') { $built_url = Url::buildUrl($url, $mixed_data); @@ -748,6 +762,7 @@ public function start() /** * Stop */ + #[\Override] public function stop() { // Remove any queued curl requests. @@ -775,6 +790,7 @@ public function stop() * * @param $key */ + #[\Override] public function unsetHeader($key) { unset($this->headers[$key]); diff --git a/tests/psalm.xml b/tests/psalm.xml index c1a61e7fe4..e2f098d3be 100644 --- a/tests/psalm.xml +++ b/tests/psalm.xml @@ -1,7 +1,6 @@ Date: Wed, 19 Feb 2025 18:04:26 +0000 Subject: [PATCH 2/2] =?UTF-8?q?Bump=20version:=2011.0.2=20=E2=86=92=2011.0?= =?UTF-8?q?.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 ++++ src/Curl/Curl.php | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c3398c40b2..ae12a517fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ backwards-incompatible changes that will affect existing usage. +## 11.0.3 - 2025-02-19 + +- Use default for Psalm ensureOverrideAttribute ([#923](https://github.com/php-curl-class/php-curl-class/pull/923)) + ## 11.0.2 - 2025-02-18 - Fix CI (PHPUnit) ([#918](https://github.com/php-curl-class/php-curl-class/pull/918)) diff --git a/src/Curl/Curl.php b/src/Curl/Curl.php index 6ff988410c..d4b6c70fd4 100644 --- a/src/Curl/Curl.php +++ b/src/Curl/Curl.php @@ -6,7 +6,7 @@ class Curl extends BaseCurl { - public const VERSION = '11.0.2'; + public const VERSION = '11.0.3'; public const DEFAULT_TIMEOUT = 30; public $curl = null;