From 056de7d13df6d3bc3e5ad40756d3c483f183bf6d Mon Sep 17 00:00:00 2001 From: Zach Borboa Date: Tue, 18 Feb 2025 21:49:22 -0500 Subject: [PATCH] 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 72b757a..bc2daca 100644 --- a/src/Curl/CaseInsensitiveArray.php +++ b/src/Curl/CaseInsensitiveArray.php @@ -63,6 +63,7 @@ class CaseInsensitiveArray implements \ArrayAccess, \Countable, \Iterator * @return void * @see https://secure.php.net/manual/en/arrayaccess.offsetset.php */ + #[\Override] #[\ReturnTypeWillChange] public function offsetSet($offset, $value) { @@ -85,6 +86,7 @@ class CaseInsensitiveArray implements \ArrayAccess, \Countable, \Iterator * @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 @@ class CaseInsensitiveArray implements \ArrayAccess, \Countable, \Iterator * @return void * @see https://secure.php.net/manual/en/arrayaccess.offsetunset.php */ + #[\Override] #[\ReturnTypeWillChange] public function offsetUnset($offset) { @@ -119,6 +122,7 @@ class CaseInsensitiveArray implements \ArrayAccess, \Countable, \Iterator * @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 @@ class CaseInsensitiveArray implements \ArrayAccess, \Countable, \Iterator * @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 @@ class CaseInsensitiveArray implements \ArrayAccess, \Countable, \Iterator * @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 @@ class CaseInsensitiveArray implements \ArrayAccess, \Countable, \Iterator * @return void * @see https://secure.php.net/manual/en/iterator.next.php */ + #[\Override] #[\ReturnTypeWillChange] public function next() { @@ -168,6 +175,7 @@ class CaseInsensitiveArray implements \ArrayAccess, \Countable, \Iterator * @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 @@ class CaseInsensitiveArray implements \ArrayAccess, \Countable, \Iterator * @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 @@ class CaseInsensitiveArray implements \ArrayAccess, \Countable, \Iterator * @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 0473911..6ff9884 100644 --- a/src/Curl/Curl.php +++ b/src/Curl/Curl.php @@ -236,6 +236,7 @@ class Curl extends BaseCurl /** * Close */ + #[\Override] public function close() { if (is_resource($this->curl) || $this->curl instanceof \CurlHandle) { @@ -807,6 +808,7 @@ class Curl extends BaseCurl * @param $key * @param $value */ + #[\Override] public function setCookie($key, $value) { $this->setEncodedCookie($key, $value); @@ -818,6 +820,7 @@ class Curl extends BaseCurl * * @param $cookies */ + #[\Override] public function setCookies($cookies) { foreach ($cookies as $key => $value) { @@ -868,6 +871,7 @@ class Curl extends BaseCurl * @param $string * @return bool */ + #[\Override] public function setCookieString($string) { return $this->setOpt(CURLOPT_COOKIE, $string); @@ -879,6 +883,7 @@ class Curl extends BaseCurl * @param $cookie_file * @return bool */ + #[\Override] public function setCookieFile($cookie_file) { return $this->setOpt(CURLOPT_COOKIEFILE, $cookie_file); @@ -890,6 +895,7 @@ class Curl extends BaseCurl * @param $cookie_jar * @return bool */ + #[\Override] public function setCookieJar($cookie_jar) { return $this->setOpt(CURLOPT_COOKIEJAR, $cookie_jar); @@ -996,6 +1002,7 @@ class Curl extends BaseCurl * @param $key * @param $value */ + #[\Override] public function setHeader($key, $value) { $this->headers[$key] = $value; @@ -1013,6 +1020,7 @@ class Curl extends BaseCurl * * @param $headers */ + #[\Override] public function setHeaders($headers) { if (ArrayUtil::isArrayAssoc($headers)) { @@ -1043,6 +1051,7 @@ class Curl extends BaseCurl * * @param $mixed boolean|callable */ + #[\Override] public function setJsonDecoder($mixed) { if ($mixed === false || is_callable($mixed)) { @@ -1056,6 +1065,7 @@ class Curl extends BaseCurl * * @param $mixed boolean|callable */ + #[\Override] public function setXmlDecoder($mixed) { if ($mixed === false || is_callable($mixed)) { @@ -1071,6 +1081,7 @@ class Curl extends BaseCurl * @param $value * @return bool */ + #[\Override] public function setOpt($option, $value) { $required_options = [ @@ -1096,6 +1107,7 @@ class Curl extends BaseCurl * @param $value * @return bool */ + #[\Override] protected function setOptInternal($option, $value) { $success = curl_setopt($this->curl, $option, $value); @@ -1115,6 +1127,7 @@ class Curl extends BaseCurl * 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 @@ class Curl extends BaseCurl * * @param $mixed */ + #[\Override] public function setRetry($mixed) { if (is_callable($mixed)) { @@ -1193,6 +1207,7 @@ class Curl extends BaseCurl * @param $url * @param $mixed_data */ + #[\Override] public function setUrl($url, $mixed_data = '') { $built_url = Url::buildUrl($url, $mixed_data); @@ -1235,6 +1250,7 @@ class Curl extends BaseCurl * * @param $key */ + #[\Override] public function unsetHeader($key) { unset($this->headers[$key]); @@ -2132,6 +2148,7 @@ class Curl extends BaseCurl * * 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 d84c09b..6baa347 100644 --- a/src/Curl/MultiCurl.php +++ b/src/Curl/MultiCurl.php @@ -348,6 +348,7 @@ class MultiCurl extends BaseCurl /** * Close */ + #[\Override] public function close() { foreach ($this->queuedCurls as $curl) { @@ -376,6 +377,7 @@ class MultiCurl extends BaseCurl * @param $key * @param $value */ + #[\Override] public function setCookie($key, $value) { $this->cookies[$key] = $value; @@ -386,6 +388,7 @@ class MultiCurl extends BaseCurl * * @param $cookies */ + #[\Override] public function setCookies($cookies) { foreach ($cookies as $key => $value) { @@ -398,6 +401,7 @@ class MultiCurl extends BaseCurl * * @param $string */ + #[\Override] public function setCookieString($string) { $this->setOpt(CURLOPT_COOKIE, $string); @@ -408,6 +412,7 @@ class MultiCurl extends BaseCurl * * @param $cookie_file */ + #[\Override] public function setCookieFile($cookie_file) { $this->setOpt(CURLOPT_COOKIEFILE, $cookie_file); @@ -418,6 +423,7 @@ class MultiCurl extends BaseCurl * * @param $cookie_jar */ + #[\Override] public function setCookieJar($cookie_jar) { $this->setOpt(CURLOPT_COOKIEJAR, $cookie_jar); @@ -431,6 +437,7 @@ class MultiCurl extends BaseCurl * @param $key * @param $value */ + #[\Override] public function setHeader($key, $value) { $this->headers[$key] = $value; @@ -444,6 +451,7 @@ class MultiCurl extends BaseCurl * * @param $headers */ + #[\Override] public function setHeaders($headers) { if (ArrayUtil::isArrayAssoc($headers)) { @@ -469,6 +477,7 @@ class MultiCurl extends BaseCurl * * @param $mixed boolean|callable */ + #[\Override] public function setJsonDecoder($mixed) { if ($mixed === false) { @@ -483,6 +492,7 @@ class MultiCurl extends BaseCurl * * @param $mixed boolean|callable */ + #[\Override] public function setXmlDecoder($mixed) { if ($mixed === false) { @@ -512,6 +522,7 @@ class MultiCurl extends BaseCurl * @param $option * @param $value */ + #[\Override] public function setOpt($option, $value) { $this->options[$option] = $value; @@ -536,6 +547,7 @@ class MultiCurl extends BaseCurl * * @param $options */ + #[\Override] public function setOpts($options) { foreach ($options as $option => $value) { @@ -608,6 +620,7 @@ class MultiCurl extends BaseCurl * * @param $mixed */ + #[\Override] public function setRetry($mixed) { $this->retry = $mixed; @@ -619,6 +632,7 @@ class MultiCurl extends BaseCurl * @param $url * @param $mixed_data */ + #[\Override] public function setUrl($url, $mixed_data = '') { $built_url = Url::buildUrl($url, $mixed_data); @@ -748,6 +762,7 @@ class MultiCurl extends BaseCurl /** * Stop */ + #[\Override] public function stop() { // Remove any queued curl requests. @@ -775,6 +790,7 @@ class MultiCurl extends BaseCurl * * @param $key */ + #[\Override] public function unsetHeader($key) { unset($this->headers[$key]); diff --git a/tests/psalm.xml b/tests/psalm.xml index c1a61e7..e2f098d 100644 --- a/tests/psalm.xml +++ b/tests/psalm.xml @@ -1,7 +1,6 @@