Windowsで始めるCakePHP4

CakePHP4のメモ

13

359 views

__debuginfo

_debuginfoは、PHPで定義できるマジックメソッドの1つで、オブジェクトが vardump() で出力されたときに表示される情報を定義するために使用されます。

vardump() は、渡された変数の詳細な情報を表示するデバッグ関数ですが、オブジェクトを出力する場合、デフォルトではオブジェクトのプロパティとメソッドのリストが表示されます。
しかし、
debuginfo メソッドが定義されている場合、vardump() はこのメソッドが返す配列を使用してオブジェクトの出力を制御します。

つまり、__debuginfo メソッドを定義することで、オブジェクトの出力情報をカスタマイズできます。
たとえば、オブジェクトの特定のプロパティだけを出力する、特定のフォーマットで出力する、またはデバッグ情報以外の情報を含めることができます。

以下は、__debuginfo メソッドの例です。

class MyClass
{
    public $prop1 = 'foo';
    public $prop2 = 'bar';

    public function __debuginfo()
    {
        return [
            'prop1' => strtoupper($this->prop1),
            'prop2' => strtoupper($this->prop2),
            'time' => date('Y-m-d H:i:s'),
        ];
    }
}

$obj = new MyClass();
var_dump($obj);

上記の例では、_debuginfo() メソッドが定義されており、vardump() を使用してobj オブジェクトを出力しています。
_debuginfo() メソッドは、オブジェクトのプロパティprop1 とprop2 を大文字に変換し、現在の時刻を配列に格納して返します。
そして、var
dump() はこの配列を使用してオブジェクトの出力を制御します。

Page 10 of 34.

前のページ 次のページ



[添付ファイル]

1.php_xdebug-3.0.4-8.0-vs16-x86_64.dll  


お問い合わせ

プロフィール

すぺぺぺ

自己紹介

本サイトの作成者。
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
ChatGPTで自動プログラム作成に取り組み中。

サイト/ブログ

https://www.osumoi-stdio.com/novel/

ツイッター

@darkimpact0626