From 31c795a98b14037fcfb1b6f176ebd5f813b292fc Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms Date: Mon, 16 Sep 2024 13:03:43 +0200 Subject: add method Request::has() to check whether a certain parameter is present in the request, fixes #4587 --- lib/classes/Request.php | 13 +++++++++++++ tests/unit/lib/classes/RequestParametersTest.php | 11 +++++++++++ 2 files changed, 24 insertions(+) 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 () -- cgit v1.0