php入门教程(十七) php常见魔术方法

发布时间:2020-01-07编辑:脚本学堂
本文是php入门教程的第十七节,介绍下php中常见的魔术方法,感兴趣的朋友可以参考下。

本节内容:
php常见魔术方法

>> php魔术方法大全,php魔术方法专题教程

1,__toString
_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中,当使用一个类的时候,必须将该类所以文件使用includerequire加进来,这样就可以使用类了。
而对于PHP5来说也可以使用在PHP4里面的方式,将类文件包进来,但当有了__autoload之后,这种情况就可以靠编写规则也实现。

例子:
 

复制代码 代码示例:
<?php 
function __autoload($className){ 
    echo $className."<br>"; 
        include "./".$className.".class.php"; 
    }  // www.jb200.com
 
    $o=new One(); 
 
    $o->fun1(); 
 
    Two::fun2(); 
 
    $t=new Three(); 
 
    $t->fun3(); 

因此,对于PHP5的autoload来说,当加载2个以上的文件或考虑到以后的扩展时或代码规范来说可以使用。

对于一般情况,则没有必要。

但是如果同时使用多个类,加载不同的类文件,对于autoload来说就有必要,只要写入相应的加载规则即可。

>>> 查看更多 php入门教程 <<<