php类的魔术方法
在php 5中,提供了构造函数,析构函数,对象克隆的方法,重载方法等.
1、构造函数__construct
如果在类申明中__construct函数,将被当成一个构造函数并且在对象建立时被执行,但在php4中,构造函数的名称与类名相同就是构造函数哦,这一点有一些不同。
2、析构函数__destruct
如果在php类中申明了,在对象被销毁时调用__destruct函数
下面来看个实例,代码如下:
<?php class Session { public function __construct() { echo '构造函数执行' ; } public function __destruct() { echo '析构函数执行' ; } } //开源代码phpfensi测试数据 $Obj = new Session; unset( $Obj ); //删除对象, __destruct()会被调用的 //输出 //构造函数执行 /析构函数执行 ?>上面在使用new创建对象时就执行了__construct,对象结束时就执行了__destruct()
3、__clone()克隆函数, 代码如下:
<?php class Session { public $age = 20; public $sub = null; public function __clone() { $this ->sub=clone $this ->sub; } } class Session 2 { public $value =5; } $s = new Session; $s ->sub= new Session 2; $s2 = clone $s ; $s ->sub-> $value =10; echo $s2 ->sub-> $value ; ?>4 现在来看关于重载函数__get ,__set,__call函数 ,代码如下:
<?php class Session { protected function __call( $func , $para ) { echo '方法不存在:’func." ".' 参数为:'. " " ; print_r( $para ); } } $s = new Session (); echo $c ->getNames( 'hello' , 'you' ); /* 输出: 方法不存在:getNames 参数为: Array ( [0] => hello [1] => you ) */ ?>查看更多关于php类的魔术方法 - php面向对象的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did29622