__toString()方法

<?php
header("content-type:text/html;charset='utf-8'");

/*
定义了“__toString()”方法,在直接输出对象引用的时候,就不会产生错误,而是自动调用了”__toString()”方法, 
输出“__toString()”方法中返回的字符,所以“__toString()”方法一定要有个返回值(return 语句).


当我们有了__toString()时,运行程序是不会报错,会给出一个友好的提示,或者说当我们输出实例化的对象时
会运行__toString()方法,里面运行什么我们自己定义。


*/

class TestClass
{
    public $foo;

    public function __construct($foo) {
        $this->foo = $foo;
    }

	
    //定义一个__toString方法,返加一个成员属性$foo
    public function __toString() {
        return $this->foo;
    }
}

$class = new TestClass('Hello');

//直接输出对象
echo $class;

//如果没有__toString方法,对象是不可以被输出的,只能被打印
//Catchable fatal error: Object of class Person could not be converted to string
//类Person对象不能转换为字符串 
//print_r($class);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值