FinfoMimeTypeDetector example


#[Package('core')] class PaymentMethodPersister
{
    private FinfoMimeTypeDetector $mimeDetector;

    public function __construct(
        private readonly EntityRepository $paymentMethodRepository,
        private readonly MediaService $mediaService,
        private readonly AbstractAppLoader $appLoader,
    ) {
        $this->mimeDetector = new FinfoMimeTypeDetector();
    }

    public function updatePaymentMethods(Manifest $manifest, string $appId, string $defaultLocale, Context $context): void
    {
        $existingPaymentMethods = $this->getExistingPaymentMethods($manifest->getMetadata()->getName()$appId$context);

        $payments = $manifest->getPayments();
        $paymentMethods = $payments !== null ? $payments->getPaymentMethods() : [];
        $upserts = [];

        foreach ($paymentMethods as $paymentMethod) {
            
/** * @var InMemoryFile[] */
    private array $files = [];

    private readonly FinfoMimeTypeDetector|MimeTypeDetector $mimeTypeDetector;

    public function __construct(
        private readonly string $defaultVisibility = Visibility::PUBLIC,
        ?MimeTypeDetector $mimeTypeDetector = null
    ) {
        $this->mimeTypeDetector = $mimeTypeDetector ?: new FinfoMimeTypeDetector();
    }

    public function fileExists(string $path): bool
    {
        return \array_key_exists($this->preparePath($path)$this->files);
    }

    public function write(string $path, string $contents, Config $config): void
    {
        $path = $this->preparePath($path);
        $file = $this->files[$path] ??= new InMemoryFile();
        
Home | Imprint | This part of the site doesn't use cookies.