码迷,mamicode.com
首页 > Web开发 > 详细

【PHP面向对象(OOP)编程入门教程】16.__toString()方法

时间:2016-07-10 18:11:12      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:

我们前面说过在类里面声明“__”开始的方法名的方法(PHP给我们提供的),都是在某一时刻不同情况下自动调用执行的方 法,“__toString()”方法也是一样自动被调用的,是在直接输出对象引用时自动调用的, 前面我们讲过对象引用是一个指针,比如 说:“$p=new Person()“中,$p就是一个引用,我们不能使用echo 直接输出$p,这样会输 出“Catchable fatal error: Object of class Person could not be converted to string”这样的错误,如果你在类里面定义了“__toString()”方法,在直接输出对象引用的时候,就不会产生错误,而是自动调用 了”__toString()”方法, 输出“__toString()”方法中返回的字符,所以“__toString()”方法一定要有个返回值(return 语句)

<?php
// Declare a simple class
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;
?>
上例输出:Hello

【PHP面向对象(OOP)编程入门教程】16.__toString()方法

标签:

原文地址:http://www.cnblogs.com/52php/p/5658116.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!