Есть ли способ реализовать преобразование объекта в число в PHP?
Есть удобная магическая функция __toString()
, которая может преобразовать объект в строку, но как насчет преобразования объекта в число??
Пример использования:
<?php
class Foo
{
/**
* @var float
*/
private $factor;
public function __construct(float $factor)
{
$this->factor = $factor;
}
}
$foo = new Foo(1.23);
$boo = 2;
$result = $foo*$boo;
//wanted output 2.46
echo $result;
этот код генерирует уведомление PHP (PHP 7.3)
Объект класса Foo не может быть преобразован в число
список магических методов PHP не имеет никакого метода __toNumber()
, но, возможно, есть обходной путь к этому?Очевидно, кроме использования геттера, как:
getFactor() : float
{
return $this->factor;
}
У вас есть идеи?