【PHP面向对象(OOP)编程入门教程】16.__toString()方法
2023-09-14 08:57:27 时间
我们前面说过在类里面声明“__”开始的方法名的方法(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 腾讯云 对象存储V5版本 获取返回的上传文件的链接方法
- CI框架在 nginx 服务器上配置 rewrite 去掉 index.php 的方法:
- Mac Pro 利用PHP导出SVN新增或修改过的文件
- PHP如何自动识别第三方Restful API的内容,自动渲染成 json、xml、html、serialize、csv、php等数据
- php保留两位小数的几种方法介绍
- PHP Socket编程 之 php实现http服务
- php:PHP解析xml的4种方法
- PHP Primary script unknown 终极解决方法
- php安装扩展的几种方法
- [php-src] Php扩展开发的琐碎注意点、细节
- [PHP]防止表单重复提交的几种方法
- Atitit 前端测试最简化内嵌web服务器 php 与node.js 目录 1.1. php内置Web Server1 1.2. Node的2 Node的比较麻烦些。。Php更加简单
- Atitit.面向接口的web 原理与设计重写 路由启动绑定配置url router rewriting urlpage mvc mvp的 java c#.net php js
- Atitit。Tree文件解析器的原理流程与设计实现 java c# php js
- paip.截取字符串byLastDot方法总结uapi python java php c# 总结
- paip.函数方法回调机制跟java php python c++的实现
- paip.执行shell cmd 命令uapi java php python总结
- paip.uapi 获取网络url内容html 的方法java php ahk c++ python总结.
- PHP 多维数组
- win8和win7下解决php5.3和5.4、5.5等不能加载php_curl.dll的终极解决办法 收藏