php (十七)常见魔术方法
2013-11-20 16:44
337 查看
1. __toString
_toString 方法在将一个对象转化成字符串时自动调用
__toString() 方法用于一个类被当成字符串时应怎样回应。例如 echo
$obj; 应该显示些什么。此方法必须返回一个字符串,否则将发出一条
2. __call
在对象中调用一个不存在方法时,__call() 会被调用。
示例:
$name 参数是要调用的方法名称。$arguments 参数是一个枚举数组,包含着要传递给方法 $name 的参数。
3. __autoload()
在PHP4里面,当我们使用一个类的时候,必须将该类所以文件使用include或require加进来,这样我们就可以使用类了。
而对于PHP5来说也可以使用在PHP4里面的方式,将类文件包进来,但当有了__autoload之后,这种情况就可以靠编写规则也实现。
示例:
因此,对于PHP5的autoload来说,当加载2个以上的文件或考虑到以后的扩展时或代码规范来说可以使用,对于一般的情况,我个人认为没有必要,但是如果同时使用多个类,加载不同的类文件,对于autoload来说就有必要,只要写入相应的加载规则即可。
_toString 方法在将一个对象转化成字符串时自动调用
__toString() 方法用于一个类被当成字符串时应怎样回应。例如 echo
$obj; 应该显示些什么。此方法必须返回一个字符串,否则将发出一条
E_RECOVERABLE_ERROR级别的致命错误。
2. __call
在对象中调用一个不存在方法时,__call() 会被调用。
示例:
<?php class all { function __call($name,$arguments) { print("no no!"); } } $x = new all(); $x->getname(); ?>
$name 参数是要调用的方法名称。$arguments 参数是一个枚举数组,包含着要传递给方法 $name 的参数。
3. __autoload()
在PHP4里面,当我们使用一个类的时候,必须将该类所以文件使用include或require加进来,这样我们就可以使用类了。
而对于PHP5来说也可以使用在PHP4里面的方式,将类文件包进来,但当有了__autoload之后,这种情况就可以靠编写规则也实现。
示例:
<?php function __autoload($className){ echo $className."<br>"; include "./".$className.".class.php"; } $o=new One(); $o->fun1(); Two::fun2(); $t=new Three(); $t->fun3();
因此,对于PHP5的autoload来说,当加载2个以上的文件或考虑到以后的扩展时或代码规范来说可以使用,对于一般的情况,我个人认为没有必要,但是如果同时使用多个类,加载不同的类文件,对于autoload来说就有必要,只要写入相应的加载规则即可。
相关文章推荐
- php常见的魔术方法详解
- PHP面向对象常见的关键字和魔术方法
- PHP中常见魔术方法解析
- PHP中的常见魔术方法功能作用及用法实例
- PHP面向对象 1.7 常见的魔术方法及应用
- 【代码总结】PHP面向对象之常见的关键字和魔术方法
- php常见的魔术方法详解
- php常见魔术方法的应用场景
- PHP面向对象常见的关键字和魔术方法
- [麦先生]PHP面向对象中常见的魔术方法以及关键字
- 关于php中的一些常见的魔术方法
- php常见的几个魔术方法
- PHP中的常见魔术方法功能作用及用法实例
- PHP中的常见魔术方法功能作用及用法实例
- php常见魔术常量和魔术方法
- PHP学习(十八)--常见的关键字和魔术方法
- 浅析PHP反序列化漏洞之PHP常见魔术方法(一)
- PHP中的常见魔术方法功能作用及用法实例
- PHP中的常见魔术方法功能作用及用法实例
- PHP中的魔术方法