__tostring和__invoke 方法
2015-07-04 14:37
253 查看
首先放上代码:
输出为:
可以看到调用$obj的时候,自动调用 __tostring() 里面的字符,这时,如果你把tostring前面的双下划线减成一条,则会出现错误
同样在调用 $obj(5) 的时候,会自动调用 __invoke 方法
<?php class MagicTest{ //__tostring会在把对象转换为string的时候自动调用 public function __tostring() { return "This is the class MagicTest"; } //__invoke会在把对象当作一个方法调用的时候自动调用 public function __invoke($x) { echo "__invoke called with parameter".$x."<br/>"; } } $obj = new MagicTest(); echo $obj."<br/>"; $obj(5);
输出为:
This is the class MagicTest __invoke called with parameter5
可以看到调用$obj的时候,自动调用 __tostring() 里面的字符,这时,如果你把tostring前面的双下划线减成一条,则会出现错误
同样在调用 $obj(5) 的时候,会自动调用 __invoke 方法
相关文章推荐
- 随笔
- **上海团建去哪儿**(室外版,天气不错的情况~)
- printf "%.*s"
- JSON-C 的安装与使用
- Windows环境下搭建Apache+MySQL+PHP的Web开发平台
- 《C语言及程序设计》实践参考——日期结构体
- ASP.NET MVC图片管理(上传,预览与显示)
- Android中的“再按一次返回键退出程序”实现
- 钢琴多层采样问题及解决方案
- 记住密码
- Android通过HttpURLConnection获取JSON并进行UI更新
- 【HAOI2009】【毛毛虫】【树形dp】
- IE浏览器中用Firebug调试网站的方法
- The Suspects-并查集(4)
- Leetcode 166 Fraction to Recurring Decimal
- 赋值与初始化
- mysql-5.6.25-winx64安装
- NGUI中使用U3D粒子特效
- Leetcode 187 Repeated DNA Sequences
- highcharts图表易错篇:前端通过string.split()得到的array数组直接赋值给series内data前需要做什么