xiaowang/kirby/src/Image/Camera.php

94 lines
1.6 KiB
PHP
Raw Normal View History

2021-10-29 18:05:46 +02:00
<?php
namespace Kirby\Image;
/**
* Small class which hold info about the camera
*
* @package Kirby Image
* @author Bastian Allgeier <bastian@getkirby.com>
* @link https://getkirby.com
2022-03-22 15:39:39 +01:00
* @copyright Bastian Allgeier
2021-10-29 18:05:46 +02:00
* @license https://opensource.org/licenses/MIT
*/
class Camera
{
/**
* Make exif data
*
* @var string|null
*/
protected $make;
/**
* Model exif data
*
* @var string|null
*/
protected $model;
/**
* Constructor
*
* @param array $exif
*/
public function __construct(array $exif)
{
$this->make = $exif['Make'] ?? null;
$this->model = $exif['Model'] ?? null;
}
/**
* Returns the make of the camera
*
* @return string
*/
public function make(): ?string
{
return $this->make;
}
/**
* Returns the camera model
*
* @return string
*/
public function model(): ?string
{
return $this->model;
}
/**
* Converts the object into a nicely readable array
*
* @return array
*/
public function toArray(): array
{
return [
'make' => $this->make,
'model' => $this->model
];
}
/**
* Returns the full make + model name
*
* @return string
*/
public function __toString(): string
{
return trim($this->make . ' ' . $this->model);
}
/**
* Improved `var_dump` output
*
* @return array
*/
public function __debugInfo(): array
{
return $this->toArray();
}
}