flux-querybuilder/src/Type.php
davidarendsen 923cb7dcb7 Rename types to Type suffix
Signed-off-by: davidarendsen <davidarendsen@hey.com>
2022-08-16 15:49:06 +00:00

36 lines
981 B
PHP

<?php
namespace Arendsen\FluxQueryBuilder;
use Arendsen\FluxQueryBuilder\Type\ArrayType;
use Arendsen\FluxQueryBuilder\Type\BooleanType;
use Arendsen\FluxQueryBuilder\Type\TimeType;
use DateTime;
class Type
{
public function __construct($value, $settings = [])
{
$this->value = $value;
$this->settings = $settings;
}
public function __toString(): string
{
switch (gettype($this->value)) {
case 'object':
if ($this->value instanceof DateTime) {
return new TimeType($this->value);
}
return $this->value->__toString();
case 'string':
return '"' . $this->value . '"';
case 'boolean':
return new BooleanType($this->value);
case 'array':
return new ArrayType($this->value, $this->settings);
default:
return (string)$this->value;
}
}
}