ホームページ  >  記事  >  バックエンド開発  >  phpオブジェクト指向toString()

phpオブジェクト指向toString()

WBOY
WBOYオリジナル
2016-06-23 13:13:261222ブラウズ

__toString() 関数


プログラムをデバッグするとき、正しいデータが取得されたかどうかを知る必要があります。たとえば、オブジェクトを印刷するときに、そのオブジェクトにどのような属性があり、その値が何であるかを確認できます。クラスで toString メソッドが定義されている場合、テスト中にオブジェクト本体をエコー印刷すると、オブジェクトは定義された toString メソッドを自動的に呼び出します。所属するクラスごとに、このオブジェクトに含まれるデータをフォーマットして出力します。

__toString() の例を見てみましょう

<?phpclass Person{    private $name = "";    function __construct($name = ""){                         $this->name = $name;    }    function say(){                         echo "Hello,".$this->name."!<br/>";      }    function __tostring(){//在类中定义一个__toString方法        return  "Hello,".$this->name."!<br/>";        }}$Bindao= new Person('Bindao');echo $Bindao;//直接输出对象引用则自动调用了对象中的__toString()方法$WBlog->say();//试比较一下和上面的自动调用有什么不同?>

プログラム出力:

Hello,Bindao!

Hello,Bindao!


"__tostring()" メソッドが定義されていない場合はどうなりますか?たとえば、上記のコードに基づいて、「__tostring()」メソッドをブロックし、プログラム出力を確認します。クラスに「__tostring()」メソッドが定義されていない場合、オブジェクトへの参照を直接出力すると構文エラーが発生することがわかります。また、__tostring()メソッド本体に戻り値が必要です。 。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。