public function __construct(FileUpload $file) { if (!$file->isImage()) { throw new NotImageUploadedException(); } $this->id = Uuid::uuid4(); $pathInfo = pathinfo($file->getSanitizedName()); if (!isset($pathInfo['extension'])) { throw new FileNameException('Filename must have extension'); } $this->extension = $pathInfo['extension']; $this->originalName = $pathInfo['filename']; $imgSize = $file->getImageSize(); $this->width = $imgSize[0]; $this->height = $imgSize[1]; $this->fileSize = $file->getSize(); $this->uploadedAt = new \DateTime('now'); }