aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+github@gmail.com>2024-09-16 13:03:43 +0200
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2025-09-05 14:23:32 +0200
commit31c795a98b14037fcfb1b6f176ebd5f813b292fc (patch)
tree7b181eff0965e1c7fed8d678a50ae9fd3c3380b1
parent8a6831f7d910f3ff7791d27fdf3988028982caa5 (diff)
add method Request::has() to check whether a certain parameter is present in the request, fixes #4587
-rw-r--r--lib/classes/Request.php13
-rw-r--r--tests/unit/lib/classes/RequestParametersTest.php11
2 files changed, 24 insertions, 0 deletions
diff --git a/lib/classes/Request.php b/lib/classes/Request.php
index ae294ae..fba223c 100644
--- a/lib/classes/Request.php
+++ b/lib/classes/Request.php
@@ -174,6 +174,19 @@ class Request implements ArrayAccess, IteratorAggregate
}
/**
+ * Returns whether the request has a value for a certain parameter name.
+ *
+ * @param string $param parameter name
+ * @return bool True if the parameter is present, false otherwise
+ */
+ public static function has(string $param): bool
+ {
+ $request = self::getInstance();
+
+ return isset($request->params[$param]);
+ }
+
+ /**
* Return the value of the selected query parameter as a string.
*
* @param string $param parameter name
diff --git a/tests/unit/lib/classes/RequestParametersTest.php b/tests/unit/lib/classes/RequestParametersTest.php
index 3da20b2..e3a7898 100644
--- a/tests/unit/lib/classes/RequestParametersTest.php
+++ b/tests/unit/lib/classes/RequestParametersTest.php
@@ -73,6 +73,17 @@ class RequestParametersTest extends Codeception\Test\Unit
}
/**
+ * @covers Request::has
+ */
+ public function testHasParam(): void
+ {
+ Request::set('yyy', 'xyzzy');
+
+ $this->assertTrue(Request::has('yyy'));
+ $this->assertFalse(Request::has('null'));
+ }
+
+ /**
* @covers Request::get
*/
public function testStringParam ()