PHP

[PHP]__toString()とは?オブジェクトを文字列として扱う方法を徹底解説

はじめに前回までの記事で、シリアライズに関わるマジックメソッド(__sleep()、__wakeup()、__serialize()、__unserialize())を解説してきました。今回取り上げる __toString() は、オブジェ...
PHP

[PHP]__wakeup()とは?復元後のオブジェクトを初期化する旧来の仕組みを徹底解説

はじめに前回の記事では、シリアライズ対象のプロパティ名を指定する古い仕組み __sleep() を解説しました。今回取り上げる __wakeup() は、その対となる、unserialize() によってオブジェクトが復元された直後に呼び出...
PHP

[PHP]__sleep()とは?旧来のシリアライズ対象プロパティ指定の仕組みを徹底解説

はじめにこれまでの記事で、PHP 7.4以降の洗練されたシリアライズ制御の仕組みである __serialize() と __unserialize() を解説してきました。今回取り上げる __sleep() は、それらが登場する以前から存在...
PHP

[PHP]__unserialize()とは?シリアライズされたデータからオブジェクトを復元する方法を徹底解説

はじめに前回の記事では、serialize() によるシリアライズ内容を自由に制御する __serialize() を解説しました。今回取り上げる __unserialize() は、その対となる、unserialize() によってオブジ...
PHP

[PHP]__serialize()とは?オブジェクトのシリアライズ内容を自在に制御する方法を徹底解説

はじめにこれまでの記事で、プロパティオーバーロードに関わる4つのマジックメソッド(__get()、__set()、__isset()、__unset())を解説してきました。今回取り上げる __serialize() は少し毛色が異なり、P...
PHP

[PHP]__unset()とは?アクセスできないプロパティの削除を動的に処理する方法を徹底解説

はじめにこれまでの記事で、プロパティオーバーロードに関わる3つのマジックメソッド、__get()(読み取り)、__set()(書き込み)、__isset()(存在確認)を解説してきました。今回取り上げる __unset() は、この一連のグ...
PHP

[PHP]__isset()とは?アクセスできないプロパティの存在確認を動的に処理する方法を徹底解説

はじめにこれまでの記事で、プロパティの「読み取り」を処理する __get() と、「書き込み」を処理する __set() を解説してきました。今回取り上げる __isset() は、isset() 関数や empty() 関数でプロパティの...
PHP

[PHP]__set()とは?アクセスできないプロパティへの書き込みを動的に処理する方法を徹底解説

はじめに前回の記事では、アクセスできないプロパティの「読み取り」を動的に処理する __get() を解説しました。今回取り上げる __set() は、その対となる、プロパティへの「書き込み」を動的に処理するマジックメソッドです。$obj->...
PHP

[PHP]__get()とは?アクセスできないプロパティの読み取りを動的に処理する方法を徹底解説

はじめに前回までの記事で、未定義のメソッド呼び出しを動的に処理する __call() と __callStatic() を解説してきました。今回取り上げる __get() は、それと同じ発想をプロパティの読み取りに適用したマジックメソッドで...
PHP

[PHP]__callStatic()とは?未定義の静的メソッド呼び出しを動的に処理する方法を徹底解説

はじめに前回の記事では、インスタンスメソッドとして未定義のメソッドが呼び出された際に動的に処理する __call() を解説しました。今回取り上げる __callStatic() は、その静的メソッド版にあたるマジックメソッドです。Clas...