for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Spatie\MediaLibrary\ImageGenerators;
use Illuminate\Support\Collection;
use Spatie\MediaLibrary\Helpers\File;
abstract class BaseGenerator implements ImageGenerator
{
public function canConvert(string $path): bool
if (! file_exists($path)) {
return false;
}
if (! $this->requirementsAreInstalled()) {
if ($this->supportedExtensions()->contains(pathinfo($path, PATHINFO_EXTENSION))) {
return true;
if ($this->supportedMimetypes()->contains(File::getMimetype($path))) {
public function canHandleMime(string $mime = ''): bool
return $this->supportedMimetypes()->contains($mime);
public function canHandleExtension(string $extension = ''): bool
return $this->supportedExtensions()->contains($extension);
public function getType(): string
return strtolower(class_basename(static::class));
abstract public function requirementsAreInstalled(): bool;
abstract public function supportedExtensions(): Collection;
abstract public function supportedMimetypes(): Collection;