最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP中常用的魔術(shù)方法

 更新時(shí)間:2017年04月28日 15:08:08   作者:下頁、再停留  
本篇文章主要介紹了PHP中常用的魔術(shù)方法的相關(guān)資料。具有很好的參考價(jià)值。下面跟著小編一起來看下吧

我們?cè)赑HP中經(jīng)常用到魔術(shù)方法,像構(gòu)造方法,析構(gòu)方法等等魔術(shù)變量,下面總結(jié)一下一些常用的魔術(shù)變量:

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

1,__constuct()構(gòu)造函數(shù)

通常實(shí)例化完一個(gè)對(duì)象之后,都要對(duì)該對(duì)象的屬性進(jìn)行初始化!在實(shí)例化一個(gè)對(duì)象的時(shí)候,PHP系統(tǒng)會(huì)自動(dòng)的調(diào)用一個(gè)名字叫作__construct()的方法,我們把這個(gè)方法叫作“構(gòu)造方法”!

其中,構(gòu)造方法可以沒有參數(shù)!

<?php

class Stu {

 public $stu_name;
 public $stu_age;

//構(gòu)造方法,實(shí)例化時(shí)自動(dòng)調(diào)用
 public function __construct($name,$age){

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

}

//實(shí)例化stu對(duì)象
$stu = new Stu('孫悟空','500');

2.__destruct()析構(gòu)方法

與構(gòu)造方法是一對(duì),構(gòu)造方法是在一個(gè)對(duì)象“出生”的時(shí)候由系統(tǒng)自動(dòng)調(diào)用的,而析構(gòu)方法是在一個(gè)對(duì)象“消失”的時(shí)候由系統(tǒng)自動(dòng)調(diào)用的!

析構(gòu)方法的名字叫__destruct();注意里面不能有任何的參數(shù)!

<?php

//析構(gòu)方法
public function __destruct(){

}
?>

注意:析構(gòu)方法是在對(duì)象銷毀之前調(diào)用的!  

作用:

析構(gòu)方法的作用一般是用來釋放該對(duì)象所占用的額外的資源,而不是銷毀該對(duì)象本身!

3,__clone()克隆

觸發(fā)時(shí)機(jī):是在克隆一個(gè)對(duì)象的時(shí)候,對(duì)新對(duì)象進(jìn)行初始化的工作

//克隆方法在克隆對(duì)象的時(shí)候?qū)π聦?duì)象的初始化工作
 
public function __clone(){
 
 $this->is_clone=true;
} 

思考:

克隆出來的對(duì)象還是不是Student類中的一個(gè)實(shí)例呢?

我們可以利用instanceof運(yùn)算符來進(jìn)行判斷!

instanceof就是用來判斷某個(gè)對(duì)象是否是某個(gè)類的一個(gè)實(shí)例!

需要兩個(gè)操作數(shù),前面是一個(gè)對(duì)象變量,后面是一個(gè)類名!返回一個(gè)布爾值!

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

4.__autoload()自動(dòng)加載類

當(dāng)調(diào)用不存在的類的時(shí)候自動(dòng)調(diào)用!

<?php 

/**
* 自動(dòng)加載類
* 需要什么類__autoload會(huì)自動(dòng)調(diào)用需要的文件
*
*/

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

5.__tostring()

當(dāng)將對(duì)象當(dāng)成字符串使用的時(shí)候自動(dòng)調(diào)用

6.__invoke()

當(dāng)將對(duì)象當(dāng)成函數(shù)使用的時(shí)候自動(dòng)調(diào)用

7,__set()

當(dāng)對(duì)無法訪問的屬性賦值時(shí)自動(dòng)調(diào)用(比如:類外調(diào)用私有屬性)

8.__get()

當(dāng)對(duì)獲取無法訪問的屬性值的時(shí)候自動(dòng)調(diào)用

9.__unset()

當(dāng)銷毀無法訪問的屬性的時(shí)候自動(dòng)調(diào)用

10.__isset()

當(dāng)判斷無法訪問的屬性是否存在的時(shí)候自動(dòng)調(diào)用

11.__call()

當(dāng)調(diào)用無法訪問的普通方法時(shí)自動(dòng)觸發(fā)

<?php 
class Stu{

 public function __call(){
    echo "error";
 }
}
$stu = new Stu();
//此時(shí)Stu類里沒有show()方法,會(huì)觸發(fā)__call()函數(shù)
$stu->show();

12.__callststic()

當(dāng)無法通過靜態(tài)方法訪問時(shí)自動(dòng)觸發(fā)

<?php 
class Stu{

 public static function __callstatic(){
  echo "error";
 }
}
$stu = new Stu();
//此時(shí)Stu類里沒有show()方法,會(huì)觸發(fā)__call()函數(shù)
$stu::show();

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

最新評(píng)論

永安市| 五大连池市| 同江市| 丹东市| 灵川县| 沈丘县| 灵璧县| 曲阜市| 高邑县| 涿鹿县| 河间市| 宜兰县| 云和县| 济阳县| 桐城市| 宁武县| 迁西县| 延安市| 民丰县| 乌拉特后旗| 康定县| 廉江市| 榆树市| 泾源县| 新龙县| 江阴市| 盐池县| 安乡县| 邹平县| 株洲县| 肥城市| 镇安县| 缙云县| 白玉县| 澜沧| 吉木乃县| 甘泉县| 蛟河市| 武城县| 南宁市| 龙井市|