Имеется класс
class Main{
private $num;
function num(){
$value = 40000;
$this->num = $value;
return $this;
}
function format(){
return number_format($this->num, 0, '.', ' ');
}
}
Если делаю вызов
echo (new Main)->num()->format(); // выведет 40 000
Как сделать возврат не отформатированного значения
echo (new Main)->num(); // должно вернуть 40000
public __toString ( void ) : string
Метод __toString() позволяет классу решать, как он должен реагировать при преобразовании в строку. Например, что вывести при выполнении echo $obj;. Этот метод должен возвращать строку, иначе произойдёт фатальная ошибка уровня E_RECOVERABLE_ERROR.
добавлем в объявление класса
function __toString() { return (string)$this->num; }
и теперь
echo (new Main)->num(); // 40000
Но обратите внимание, что эта функция вернет строку, а не число
demo
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
на вход поступает объект, нужно записать в сsv файл, преобразовав объект в массив
(93 строка)
Как правильно разлогинить юзера по кнопке Выход ? Через session_destroy или session_unset