php中__toString()方法及__call()方法的使用介绍
2013-02-17 15:52
531 查看
__toString()方法是在php面向对象编程时一个比较重要的方法,这里写下来算是自己的学习记录;
__toString()方法是自动被调用的,它在直接输出对象引用时自动被调用, 对象引用就是一个指针,比如:“$my = newMyClass()“,$my就是一个对象引用,php是不允许使用echo 直接输出$my的, 这样会提示错误”Catchable fatal error: Object of class Person could not be converted to string“;为了避免这样的错误,我们就需要在MyClass()类中里面定义了“__toString()”方法,这时在直接输出对象引用的时候,就不会产生错误,而是会自动调用”__toString()”方法, 输出“__toString()”方法中返回的内容,所以“__toString()”方法中一定要有个返回值(return 语句)。
__call()方法也是自动被调用的,它在调用一个类中不存在的方法里被自动调用,
__call()方法需要两个参数,例如写成:function __call($m,$a);其中$m是被调用但根本不存在的方法的方法名,$a是调用该方法所传递的参数(数组)。
__toString()方法是自动被调用的,它在直接输出对象引用时自动被调用, 对象引用就是一个指针,比如:“$my = newMyClass()“,$my就是一个对象引用,php是不允许使用echo 直接输出$my的, 这样会提示错误”Catchable fatal error: Object of class Person could not be converted to string“;为了避免这样的错误,我们就需要在MyClass()类中里面定义了“__toString()”方法,这时在直接输出对象引用的时候,就不会产生错误,而是会自动调用”__toString()”方法, 输出“__toString()”方法中返回的内容,所以“__toString()”方法中一定要有个返回值(return 语句)。
__call()方法也是自动被调用的,它在调用一个类中不存在的方法里被自动调用,
__call()方法需要两个参数,例如写成:function __call($m,$a);其中$m是被调用但根本不存在的方法的方法名,$a是调用该方法所传递的参数(数组)。
相关文章推荐
- PHP中的魔术方法总结 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, __clone and __autoload
- PHP魔术方法和魔术常量介绍及使用
- 详解php的魔术方法__get()和__set()使用介绍
- php excel类 — phpExcel使用方法介绍
- PHP中的魔术方法之__call()和__callStatic()方法的使用
- 使用Memcache在PHP中调试方法的介绍及应用 (1)
- php excel类 phpExcel使用方法介绍
- PHP表单数组的具体使用方法介绍
- 详解php的魔术方法__get()和__set()使用介绍
- PHP中的魔术方法:__construct, __destruct , __call,__get, __set, __isset, __unset , __toString, __set,__clone and __autoload
- JavaScript中的apply()方法和call()方法使用介绍
- php数据库操作model类(使用__call方法)
- PHP中的魔术方法:__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, __clone and __autoload
- php的魔法方法__call使用
- 详细介绍PHP中strtotime函数使用方法
- 使用Memcache在PHP中调试方法的介绍及应用
- php中unlink()、mkdir()、rmdir()等方法的使用介绍
- JavaScript中的apply()方法和call()方法使用介绍
- PHP魔术方法和魔术常量介绍及使用
- JavaScript中的apply()方法和call()方法使用介绍