【 PHP 】PHP8に入門してみた 218日目 PHPの基本 ( オブジェクト指向 マジックメソッド その5 )

PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。

オブジェクト指向

ラストマジック!

__debugInfo

__debugInfo は、PHPのマジックメソッドの1つです。
オブジェクトの var_dump()print_r() などのデバッグ関数が呼び出された場合にオブジェクトのデバッグ情報を提供するために使用されます。
このメソッドは、デバッグ情報の一部を隠すことができ、デバッグ時に情報を制限することができます。

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8" />
    <title>こんにちは!</title>
    <!-- Bootstrapを有効化 -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" />
</head>

<body>
    <?php
    class Person
    {
        public $name;
        public $age;
        public function __debugInfo()
        {
            return [
                'name' => '***', // 名前を隠蔽しています。
                'age' => $this->age
            ];
        }
    }
    ?>
</body>

</html>

メモ

パスワードはデバッグで出力されたら困るので __debugInfoで制御するという感じでしょうかね。

PHPPHP

Posted by raika@blog