Skip to content

Commit bc203cf

Browse files
committed
IRequest::getFile() accepts an array of keys like Request::getFile() (BC break) [Closes #214]
1 parent d9fa2eb commit bc203cf

3 files changed

Lines changed: 7 additions & 2 deletions

File tree

‎src/Http/IRequest.php‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,9 @@ function getPost(?string $key = null): mixed;
6868
/**
6969
* Returns the uploaded file for the given key, or null if not present.
7070
* Accepts a string key or an array of keys for nested file structures (e.g. ['form', 'avatar']).
71+
* @param string|string[] $key
7172
*/
72-
function getFile(string $key): ?FileUpload;
73+
function getFile(string|array $key): ?FileUpload;
7374

7475
/**
7576
* Returns the tree of uploaded files, with each leaf being a FileUpload instance.

‎src/Http/Request.php‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public function getPost(?string $key = null): mixed
112112
* Accepts a string key or an array of keys for nested file structures (e.g. ['form', 'avatar']).
113113
* @param string|string[] $key
114114
*/
115-
public function getFile($key): ?FileUpload
115+
public function getFile(string|array $key): ?FileUpload
116116
{
117117
$res = Nette\Utils\Arrays::get($this->files, $key, null);
118118
return $res instanceof FileUpload ? $res : null;

‎tests/Http/Request.files.phpt‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,3 +109,7 @@ Assert::true(isset($request->files['file1']));
109109

110110
Assert::null($request->getFile('empty1'));
111111
Assert::null($request->getFile('empty2'));
112+
113+
Assert::same($request->files['file3']['y']['z'], $request->getFile(['file3', 'y', 'z']));
114+
Assert::null($request->getFile(['file3', 'y']));
115+
Assert::null($request->getFile(['file3', 'x']));

0 commit comments

Comments
 (0)