快捷搜索:
来自 计算机编程 2019-11-10 08:01 的文章
当前位置: 67677新澳门手机版 > 计算机编程 > 正文

PHP中常用的魔术方法

大家在PHP中时常用到魔术点子,像构造方法,析构方法等等魔术变量,上边计算一下片段常用的魔术变量:

__construct(),__destruct(),__clone(),__autoload(),__tostring(),__invoke(),__set(),__get(),__unset(),__isset(),__call(),__callstatic;

1,__constuct()构造函数

经常说来实例化完三个指标之后,都要对该对象的性质实行初步化!在实例化三个指标的时候,PHP系统会自行的调用二个名字称为__construct()的办法,我们把那几个点子叫作“构造方法”!

其间,构造方法能够未有参数!

<?php

class Stu {

 public $stu_name;
 public $stu_age;

//构造方法,实例化时自动调用
  public function __construct($name,$age){

      $this->stu_name = $name;
      $this->stu_age = $age;
   }  

}

//实例化stu对象
$stu = new Stu('孙悟空','500');

2.__destruct()析构方法

  与构造方法是局部,构造方法是在多个对象“出生”的时候由系统活动调用的,而析构方法是在二个对象“消失”的时候由系统自动调用的!

析构方法的名字叫__destruct();注意里面无法有别的的参数!

<?php

//析构方法
public function __destruct(){

}

?>

只顾:析构方法是在对象销毁在此之前调用的!  

作用:

析构方法的意义日常是用来刑满释放解除劳教该对象所据有的附加的财富,并非绝迹该对象自己!

3,__clone()克隆

触发时机:是在仿制四个目的的时候,对新对象实行初阶化的做事

//克隆方法在克隆对象的时候对新对象的初始化工作

public function __clone(){

  $this->is_clone=true;
}

  

思考:

仿造出来的靶子照旧不是Student类中的贰个实例呢?

我们能够利用instanceof运算符来进行推断!

instanceof就是用来判断某些对象是不是是有些类的一个实例!

亟待七个操作数,前边是叁个目标变量,前面是多个类名!再次回到二个布尔值!

var_dump($stu instanceof Stu);     //返回bool(true)

4.__autoload()自动加载类

当调用不设有的类的时候自动调用!

<?php 

/**
* 自动加载类
* 需要什么类__autoload会自动调用需要的文件
*
*/

public function __autoload($class_name)
{
    require_once "../Model/{$class_name}.class.php";
}

 ?>

5.__tostring()

当将指标正是字符串使用的时候自动调用

6.__invoke()

当将目的正是函数使用的时候自动调用

7,__set()

当对不大概访谈的性质赋值时自动调用(举例:类向外调拨运输用私有属性卡塔 尔(英语:State of Qatar)

8.__get()

当对获取无法访谈的属性值的时候自动调用

9.__unset()

当销毁不恐怕访谈的性质的时候自动调用

10.__isset()

当推断不恐怕访谈的品质是不是留存的时候自动调用

11.__call()

当调用不可能访问的经常见到方法时自动触发

 

<?php 
class Stu{

    public function __call(){
    echo "error";
    }
}

$stu = new Stu();
//此时Stu类里没有show()方法,会触发__call()函数
$stu->show();

 

12.__callststic()

当无法透过静态方法访谈时自动触发

 

<?php 
class Stu{

    public static function __callstatic(){
        echo "error";
    }
}

$stu = new Stu();
//此时Stu类里没有show()方法,会触发__call()函数
$stu::show();

 

 

 

 

本文由67677新澳门手机版发布于计算机编程,转载请注明出处:PHP中常用的魔术方法

关键词: