Use array_map para chamar um método na classe com vários parâmetros

class FileUploader {

/**
* Upload a single or multiple files to specific target.

*

* @param string|array $file

* @param string $target

* @return mixed

*/

public function upload($file, $target)
{
if (is_array($file)) {
return array_map(
[$this, 'uploadSingle'],
$file
,
array_fill
(0, count($file), $target)
);
}
return $this->uploadSingle($file, $target);
}

/**
* Upload a single file to a specific target.

*

* @param $file

* @param $target

*/

public function uploadSingle($file, $target)
{
// Code to handle the file upload.
}

}