2018-02-11 11:16:32 +08:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Support\Units;
|
2018-02-21 12:33:09 +08:00
|
|
|
|
2019-07-16 03:44:31 +08:00
|
|
|
use App\Contracts\Unit;
|
2018-04-08 09:52:12 +08:00
|
|
|
use PhpUnitsOfMeasure\PhysicalQuantity\Length;
|
2018-02-11 11:16:32 +08:00
|
|
|
|
2018-04-08 09:52:12 +08:00
|
|
|
class Distance extends Unit
|
2018-02-11 11:16:32 +08:00
|
|
|
{
|
2019-07-16 03:14:40 +08:00
|
|
|
public $responseUnits = [
|
2019-12-12 01:57:18 +08:00
|
|
|
'm',
|
2019-07-16 03:14:40 +08:00
|
|
|
'km',
|
|
|
|
'mi',
|
|
|
|
'nmi',
|
|
|
|
];
|
|
|
|
|
2018-02-11 11:16:32 +08:00
|
|
|
/**
|
2018-04-08 09:52:12 +08:00
|
|
|
* Distance constructor.
|
2018-08-27 00:40:04 +08:00
|
|
|
*
|
2018-04-08 09:52:12 +08:00
|
|
|
* @param float $value
|
|
|
|
* @param string $unit
|
2018-08-27 00:40:04 +08:00
|
|
|
*
|
2018-04-08 09:52:12 +08:00
|
|
|
* @throws \PhpUnitsOfMeasure\Exception\NonNumericValue
|
|
|
|
* @throws \PhpUnitsOfMeasure\Exception\NonStringUnitName
|
2018-02-11 11:16:32 +08:00
|
|
|
*/
|
2019-09-20 21:05:09 +08:00
|
|
|
public function __construct($value, string $unit)
|
2018-02-11 11:16:32 +08:00
|
|
|
{
|
2019-09-20 21:05:09 +08:00
|
|
|
if (empty($value)) {
|
|
|
|
$value = 0;
|
|
|
|
}
|
|
|
|
|
2018-04-08 09:52:12 +08:00
|
|
|
$this->unit = setting('units.distance');
|
|
|
|
$this->instance = new Length($value, $unit);
|
2018-02-11 11:16:32 +08:00
|
|
|
}
|
|
|
|
}
|