
DateTimeImmutable::modify 메소드는 DateTimeImmutable 인스턴스의 날짜를 수정하여 새로운 DateTimeImmutable 인스턴스를 반환하는 메소드입니다.
이러한 이유는 DateTimeImmutable 인스턴스 자체가 불변 객체이기 때문입니다. 불변 객체는 생성 후 변경할 수 없는 객체입니다.
DateTimeImmutable 인스턴스를 생성한 후, modify 메소드를 호출하여 날짜를 수정하면 새로운 인스턴스를 반환하는 이유는 불변 객체의 특성을 유지하기 위함입니다.
이러한 특성으로 인해, DateTimeImmutable 인스턴스를 공유할 때, 인스턴스를 수정하는 동시에 원본 인스턴스를 변경하지 않도록 보장할 수 있습니다.
또한, 불변 객체의 특성으로 인해, DateTimeImmutable 인스턴스를 캐싱하거나, 인스턴스를 공유할 때, 인스턴스를 수정하는 동시에 원본 인스턴스를 변경하지 않도록 보장할 수 있습니다.
DateTimeImmutable::modify를 사용할 때 유의해야 하는 점은, 새로운 인스턴스를 반환하므로, 원본 인스턴스를 유지하고 싶을 때, 인스턴스를 복사하여 사용해야 합니다.
예를 들어, 다음과 같은 코드를 작성할 수 있습니다.
#hostingforum.kr
php
$date = new DateTimeImmutable('2022-01-01');
$newDate = clone $date->modify('+1 day');
이러한 코드를 통해, 원본 인스턴스를 유지하고, 새로운 인스턴스를 생성할 수 있습니다.
2025-06-26 02:59