Rumah > pembangunan bahagian belakang > tutorial php > 魔术方法___toString()实例详解(php面向对象高级教程)

魔术方法___toString()实例详解(php面向对象高级教程)

巴扎黑
Lepaskan: 2023-03-07 14:50:01
asal
2290 orang telah melayarinya

我们都知道,在我们实例化一个类之后,访问类的属性时,都是$实例化名称->属性名这样的格式去访问,那么你们有没有直接用echo或者print输出过对象试试结果呢。有的人说,这样应该是不行的,会报错吧。没错,这样直接输出确实会报错,但是,当我们用了魔术方法__toString时就可以了。__toString()方法会先将对象传化成字符串在输出,这样就可以用echo或者print输出了。

实例分析:

<?php
header("content-type:text/html;charset=utf-8");
class Preson{
public $name;
private $age;
function __construct($name,$age)
{
$this->name = $name;
$this->age = $age;
}
public function __toString()
{
return $this->name . &#39;今年已经&#39; . $this->age . &#39;岁了&#39;;
}
}
$preson = new Preson(&#39;小明&#39;,18);
echo $preson;
Salin selepas log masuk

代码分析:

我们先创建了一个人的类,定义属性,创建构造方法,然后我们实例化这个类,最后直接echo这个类名。这是会发现,页面上会显示报错信息: Object of class Preson could not be converted to string in D:\WWW\tostring.php on line 15。意思是对象的类人不能转换为字符串不能输出。所以我们加上__toString()方法,就可以了,在方法中直接返回需要的结果就可以了。

Atas ialah kandungan terperinci 魔术方法___toString()实例详解(php面向对象高级教程). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan