用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

php类的魔术方法

时间:2015-01-23  来源:西部数据  作者:西部数据

在php 5中,提供了构造函数,析构函数,对象克隆的方法,重载方法等.

1、构造函数__construct

如果在类申明中__construct函数,将被当成一个构造函数并且在对象建立时被执行,但在php4中,构造函数的名称与类名相同就是构造函数哦,这一点有一些不同。

2、析构函数__destruct

如果在php类中申明了,在对象被销毁时调用__destruct函数

下面来看个实例,代码如下:

  1. <?php 
  2. class Session 
  3.     public  function __construct() 
  4.      echo '构造函数执行'
  5.     } 
  6.     public  function __destruct() 
  7.     { 
  8.       echo '析构函数执行'
  9.     } 
  10. }//开源代码phpfensi.com 
  11. $Obj = new Session; 
  12. unset($Obj);//删除对象, __destruct()会被调用的 
  13. //输出 
  14. //构造函数执行 
  15. /析构函数执行 
  16. ?> 

上面在使用new创建对象时就执行了__construct,对象结束时就执行了__destruct()

3、__clone()克隆函数,代码如下:

  1. <?php 
  2. class Session 
  3.  public $age = 20; 
  4.  public $sub = null; 
  5.  public function __clone() 
  6.  { 
  7.   $this->sub=clone $this->sub; 
  8.  } 
  9. class Session 2 
  10.  public $value=5; 
  11. $s   = new Session; 
  12. $s->sub=new Session 2; 
  13. $s2 = clone $s
  14. $s->sub->$value =10; 
  15. echo $s2->sub->$value
  16. ?> 

4 现在来看关于重载函数__get ,__set,__call函数,代码如下:

  1. <?php 
  2. class Session 
  3.  protected function __call($func,$para
  4.  { 
  5.   echo '方法不存在:’func." ".'参数为:'." "
  6.   print_r($para); 
  7.  } 
  8. $s=new Session (); 
  9. echo $c->getNames('hello','you');  
  10. /* 
  11. 输出: 
  12. 方法不存在:getNames 
  13. 参数为: 
  14. Array 
  15. ( 
  16.     [0] => hello 
  17.     [1] => you 
  18. ) 
  19. */ 
  20. ?> 
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门