zend-blog-3-backend
45 строк · 934.0 Байт
1<?php
2
3namespace App\Model;
4
5class SrcSetItem
6{
7private array $items;
8
9public function __construct(array $items)
10{
11$this->items = $items;
12}
13
14public function getItems(): array
15{
16return $this->items;
17}
18
19public function getMIMEType(): ?string
20{
21foreach ($this->items as $item) {
22switch (strtolower(pathinfo($item['path'], PATHINFO_EXTENSION))) {
23case 'jpeg':
24case 'jpg':
25return 'image/jpeg';
26case 'png':
27return 'image/png';
28case 'webp':
29return 'image/webp';
30case 'avif':
31return 'image/avif';
32}
33}
34
35return null;
36}
37
38public function toArray(): array
39{
40return [
41'items' => $this->items,
42'type' => $this->getMIMEType(),
43];
44}
45}
46