
date_create 함수와 date_create_immutable_from_format 함수는 모두 날짜를 생성하는 함수입니다.
date_create 함수는 날짜를 생성할 때 mutable 객체를 반환합니다. mutable 객체는 변경될 수 있는 객체입니다.
반면에 date_create_immutable_from_format 함수는 날짜를 생성할 때 immutable 객체를 반환합니다. immutable 객체는 변경될 수 없는 객체입니다.
date_create 함수와 함께 사용할 때 date_create_immutable_from_format 함수가 제공하는 이점은 mutable 객체를 사용할 때 발생할 수 있는 부작용을 방지할 수 있다는 것입니다.
mutable 객체는 변경될 수 있기 때문에, 다른 부분에서 변경이 발생할 수 있습니다.
immutable 객체는 변경될 수 없기 때문에, 다른 부분에서 변경이 발생할 수 없습니다.
이러한 이유로, date_create_immutable_from_format 함수를 사용하는 것이 더 안전하고 안정적인 방법입니다.
예를 들어, 다음 코드는 date_create 함수를 사용한 예시입니다.
#hostingforum.kr
php
$date = date_create('2022-01-01');
$date->modify('+1 day');
echo date_format($date, 'Y-m-d'); // 2022-01-02
위 코드에서, date_create 함수는 mutable 객체를 반환합니다.
그리고, modify 메서드는 mutable 객체의 날짜를 변경합니다.
이러한 변경은 date_create 함수의 반환 객체에 반영됩니다.
반면에, 다음 코드는 date_create_immutable_from_format 함수를 사용한 예시입니다.
#hostingforum.kr
php
$date = date_create_immutable_from_format('Y-m-d', '2022-01-01');
echo date_format($date, 'Y-m-d'); // 2022-01-01
위 코드에서, date_create_immutable_from_format 함수는 immutable 객체를 반환합니다.
그리고, modify 메서드는 immutable 객체의 날짜를 변경하려고 시도하지만, 에러가 발생합니다.
이러한 이유로, date_create_immutable_from_format 함수를 사용하는 것이 더 안전하고 안정적인 방법입니다.
2025-07-18 06:34