成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? PHP中常用的魔術方法
全站頭部文字 我要出現(xiàn)在這里
PHP中常用的魔術方法 715 2024-01-10   

我們在PHP中經常用到魔術方法,像構造方法,析構方法等等魔術變量,下面總結一下一些常用的魔術變量:

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

1,__constuct()構造函數(shù)

通常實例化完一個對象之后,都要對該對象的屬性進行初始化!在實例化一個對象的時候,PHP系統(tǒng)會自動的調用一個名字叫作__construct()的方法,我們把這個方法叫作“構造方法”!

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

<?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()析構方法

與構造方法是一對,構造方法是在一個對象“出生”的時候由系統(tǒng)自動調用的,而析構方法是在一個對象“消失”的時候由系統(tǒng)自動調用的!

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

<?php

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

}
?>

注意:析構方法是在對象銷毀之前調用的!  

作用:

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

3,__clone()克隆

觸發(fā)時機:是在克隆一個對象的時候,對新對象進行初始化的工作

//克隆方法在克隆對象的時候對新對象的初始化工作
 
public function __clone(){
 
 $this->is_clone=true;
} 

思考:

克隆出來的對象還是不是Student類中的一個實例呢?

我們可以利用instanceof運算符來進行判斷!

instanceof就是用來判斷某個對象是否是某個類的一個實例!

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

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()

當將對象當成函數(shù)使用的時候自動調用

7,__set()

當對無法訪問的屬性賦值時自動調用(比如:類外調用私有屬性)

8.__get()

當對獲取無法訪問的屬性值的時候自動調用

9.__unset()

當銷毀無法訪問的屬性的時候自動調用

10.__isset()

當判斷無法訪問的屬性是否存在的時候自動調用

11.__call()

當調用無法訪問的普通方法時自動觸發(fā)

<?php 
class Stu{

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

12.__callststic()

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

<?php 
class Stu{

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

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持綠夏網(wǎng)!



主站蜘蛛池模板: 好看的抖音头像| 电影网1905免费版| 爱的替身| 宝力龟龟| 婷婷sese| 勇敢的心演员表| 张柏芝艳照无删减| 《纯真年代》| russian institute| 洛兵| 午间电影| 10000个常用人名| 女女床戏| 蜗居爱情| 应晓薇个人资料| 妹妹扮演的角色| 饥渴少妇av| 国生小百合| 托比·斯蒂芬斯| 庆余年2演员表全部员表| 宁死不屈电影免费观看| 情欲网站| 黑太阳731在线观看| 啊摇篮电影| 我的朋友作文| after4| 游吟诗人| 汽水音乐官网| 刑事侦缉档案1演员表| 故乡之恋简谱| 好好说再见电影| 甜蜜监狱| 阿尔法变频器说明书| 艳妇乳肉豪妇荡乳ⅹxxo| 蜘蛛侠5| 大学英语综合教程1电子书| 李洋演员个人简介图片| 永远的日本电影| 六级词汇电子版| reimei影虎| 章家瑞|

!!!站長長期在線接!!!

網(wǎng)站、小程序:定制開發(fā)/二次開發(fā)/仿制開發(fā)等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103