【PHP8.x】createFromMutableメソッドの使い方

createFromMutableメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

createFromMutableメソッドは、既存の変更可能なDateTimeオブジェクトから新しい変更不可能なDateTimeImmutableオブジェクトを生成するメソッドです。PHPで日付や時刻を扱う際、DateTimeクラスのオブジェクトは作成後にその値を変更できます。一方で、DateTimeImmutableクラスのオブジェクトは、一度作成されると日付や時刻の値を直接変更することができません。変更しようとすると、変更後の値を持つ新しいDateTimeImmutableオブジェクトが返され、元のオブジェクトはそのままの状態を保ちます。この特性を「イミュータブル(不変)」と呼びます。

createFromMutableメソッドは、すでに存在するDateTimeオブジェクトを引数として受け取り、その日付、時刻、およびタイムゾーンの情報すべてを正確に引き継いだDateTimeImmutableオブジェクトを生成します。この変換によって、元のDateTimeオブジェクトは一切変更されることなく、新しいイミュータブルなオブジェクトが得られます。これにより、オブジェクトの状態が予期せず変更されることを防ぎたい場合や、イミュータブルな日付/時刻オブジェクトを必要とする場面で、安全かつ簡潔にDateTimeオブジェクトをDateTimeImmutableオブジェクトとして利用できるようになります。

構文(syntax)

1<?php
2
3$mutableDateTime = new DateTime('now');
4$immutableDateTime = DateTimeImmutable::createFromMutable($mutableDateTime);

引数(parameters)

DateTime $object

  • DateTime $object: 変換元のDateTimeImmutableオブジェクト

戻り値(return)

DateTimeImmutable

与えられたDateTimeImmutableオブジェクトを基に、新しいDateTimeImmutableオブジェクトを生成して返します。

【PHP8.x】createFromMutableメソッドの使い方 | いっしー@Webエンジニア