@protasovmikhail

Как при выполнении Carbon->addDays(int) не обновлять состояние?

Добрый день.

Вот этот код:

$var = Carbon::parse( 10 10 2000 );
$var->addDays(10);
echo $var;


вернет 20 10 2000

я правильно понимаю что это стандартное поведение и никак нельзя не менять состояние $var ?

Функция возвращает $this.

Как мне получить нужную дату, при этом не изменять состояние исходника?

$var2 = $var->->addDays(10);

echo $var;


вернет также 20 10 2000;
  • Вопрос задан
  • 157 просмотров
Решения вопроса 1
Maksclub
@Maksclub Куратор тега PHP
maksfedorov.ru
We also provide CarbonImmutable class extending DateTimeImmutable. The same methods are available on both classes but when you use a modifier on a Carbon instance, it modifies and returns the same instance, when you use it on CarbonImmutable, it returns a new instances with the new value.

https://carbon.nesbot.com/docs/


CarbonImmutable при изменении данных создает новый обьект, не меняя старый. Так как работает на основе DateTimeImmutable:
https://www.php.net/manual/ru/class.datetimeimmuta...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы