diff options
| author | Jan-Hendrik Willms <tleilax+github@gmail.com> | 2024-09-16 13:03:43 +0200 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2025-09-05 14:23:32 +0200 |
| commit | 31c795a98b14037fcfb1b6f176ebd5f813b292fc (patch) | |
| tree | 7b181eff0965e1c7fed8d678a50ae9fd3c3380b1 | |
| parent | 8a6831f7d910f3ff7791d27fdf3988028982caa5 (diff) | |
add method Request::has() to check whether a certain parameter is present in the request, fixes #4587
| -rw-r--r-- | lib/classes/Request.php | 13 | ||||
| -rw-r--r-- | tests/unit/lib/classes/RequestParametersTest.php | 11 |
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 () |
