for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
We could not synchronize checks via GitHub's checks API since Scrutinizer's GitHub App is not installed for this repository.
Install GitHub App
<?php
namespace Backpack\CRUD\app\Library\Uploaders\Support\Traits;
use Backpack\CRUD\app\Library\Uploaders\Support\Interfaces\FileNameGeneratorInterface;
use Illuminate\Http\UploadedFile;
use Symfony\Component\HttpFoundation\File\File;
trait HandleFileNaming
{
public ?string $fileName = null;
public FileNameGeneratorInterface $fileNameGenerator;
public function getFileName(string|UploadedFile|File $file): string
if ($this->fileName) {
return is_callable($this->fileName) ? ($this->fileName)($file, $this) : $this->fileName;
}
return $this->fileNameGenerator->getName($file);
private function getFileNameGeneratorInstance(?string $fileNameGenerator): FileNameGeneratorInterface
$fileGeneratorClass = $fileNameGenerator ?? config('backpack.crud.file_name_generator');
if (! class_exists($fileGeneratorClass)) {
throw new \Exception("The file name generator class [{$fileGeneratorClass}] does not exist.");
if (! in_array(FileNameGeneratorInterface::class, class_implements($fileGeneratorClass, false))) {
throw new \Exception("The file name generator class [{$fileGeneratorClass}] must implement the [".FileNameGeneratorInterface::class.'] interface.');
return new $fileGeneratorClass();