首頁 後端開發 PHP問題 PHP中什麼是魔術方法?常用魔術方法有哪些?

PHP中什麼是魔術方法?常用魔術方法有哪些?

Jun 17, 2021 pm 05:44 PM
魔術方法

上篇文章為大家介紹了《PHP中什麼是繼承和派生?我們如何運用繼承? 》,本文繼續介紹PHP什麼是魔術方法?常用魔術方法有哪些?有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

PHP中什麼是魔術方法?常用魔術方法有哪些?

1、什麼是魔術方法

系統在特定的時機自動呼叫的方法

2、常用魔術方法:

_get

#觸發時機:物件在外部存取私有成員或受保護屬性時呼叫

這個方法有一個參數:參數就是屬性名稱

我們以程式碼為例:

首先我們先建立一個新的文件,我們寫一個class類,在類別裡面定義屬性,然後我們創建一個對象,當我們去輸出(echo)剛剛定義的類,我們會發現出現報錯,因為對像只能訪問公共的屬性,我們不能訪問受保護的和私有的屬性,程式碼如下:

<?php
class Person 
{
    public $name = &#39;林徽因&#39;;
    protected $pome = &#39;答案很长,我准备用一生的时间来回答,你准备要听了吗?&#39;;
    private $time = &#39;民国&#39; ;
}
$niu = new Person();
echo $niu->pome;
?>
登入後複製

程式碼顯示結果:

PHP中什麼是魔術方法?常用魔術方法有哪些?

#我們會發現我們上述程式碼運行出現錯誤,因此,在外部不能存取受保護的和私有的屬性,如果我們想要在外部試圖透過物件來存取受保護的或私有的成員屬性時,就會自動的觸發get方法。

    public function __get($name){
        echo $name;
    }
登入後複製

緊接著印出$name,

程式碼顯示結果:

PHP中什麼是魔術方法?常用魔術方法有哪些?

因此我們透過上述程式碼可以使用if語句進行判斷:

 if ($name == &#39;pome&#39;){
            return $this->pome;
登入後複製

程式碼顯示結果:

PHP中什麼是魔術方法?常用魔術方法有哪些?

以上就是我們所說的get用法

--set

觸發時機:物件在外部設定私有或受保護成員屬性值的時候呼叫

#該方法有兩個參數:

參數1:成員屬性名稱!

參數2:要設定的值

我們以程式碼為例:

所有的魔術方法都是用public,跟上述一樣我們在類別裡面定義屬性,然後我們建立一個對象,而set屬性有兩個參數,一個是屬性名,一個是屬性值,在類別裡面我們都印出來;

public function __set($name,$value)
    {
        var_dump($name,$value);
    }
}
$niu = new Person();
//echo $niu->pome;
$niu->pome = &#39;答案很长,我准备用一生的时间来回答,你准备要听了吗?&#39;;
登入後複製

程式碼顯示結果:

PHP中什麼是魔術方法?常用魔術方法有哪些?

補充:(下次具體講解)

在外部可以透過unset銷毀物件中的public屬性

_unset

觸發時機:物件在外部銷毀私有或受保護成員屬性的時候呼叫

該方法有一一個參數:參數就是私有的成員屬性名稱

_isset

#觸發時機:物件在外部判斷私有或受保護成員屬性的時候調用,

此方法有一個參數:參數就是私有的成員屬性名稱

construct :建構方法

##觸發時機:在建立物件的時候自動呼叫

destruct:析構方法

toString (了解)

#觸發時機:echo-一個物件的時候觸發

#該函數需要return -一個字串

__debugInfo (了解)

觸發時機:var_dump--個物件的時候觸發

該函數需要return-一個陣列

推薦學習:

php影片教學

以上是PHP中什麼是魔術方法?常用魔術方法有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
<🎜>掩蓋:探險33-如何獲得完美的色度催化劑
2 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1677
14
CakePHP 教程
1430
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
解密Python元程式設計:從基礎到高階典範 解密Python元程式設計:從基礎到高階典範 Feb 19, 2024 pm 03:30 PM

python元程式設計基礎Python元程式設計是動態地操作Python程式碼的能力,這使得Python成為一門非常強大的語言。元編程可以透過以下幾種方式實現:類別裝飾器:類別裝飾器是一種修改類別定義的裝飾器。它可以用來新增或修改類別的屬性和方法,也可以用來控制類別的實例化過程。 defadd_method_to_class(cls):defnew_method(self):print("Thisisanewmethod")setattr(cls,"new_method",new_method)returncls@a

PHP 魔術方法的執行順序如何遵循? PHP 魔術方法的執行順序如何遵循? Apr 17, 2024 pm 09:33 PM

PHP魔術方法的執行順序遵循以下規則:優先順序高的魔術方法優先執行。如果子類別和父類別都定義了同名的魔術方法,則優先執行子類別的魔術方法。如果一個類別既定義了一個常規方法,又定義了同名的魔術方法,則優先執行常規方法。

什麼是魔術方法?如何在 Laravel 中使用 什麼是魔術方法?如何在 Laravel 中使用 Sep 26, 2022 pm 08:21 PM

什麼是魔術方法?如何在 Laravel 的應用?以下這篇文章跟大家介紹PHP 魔術方法在 Laravel應用的方法,希望對大家有幫助!

PHP開發:使用 反射 和 魔術方法 實作程式碼自動產生和動態調用 PHP開發:使用 反射 和 魔術方法 實作程式碼自動產生和動態調用 Jun 15, 2023 pm 04:16 PM

PHP開發中,反射和魔術方法是兩種常用的技巧。當我們需要自動產生程式碼或動態呼叫某些函數時,反射和魔術方法可以使我們的程式碼更加靈活和有效率。在本文中,我們將探討如何使用反射和魔術方法來實現程式碼自動產生和動態呼叫。反射是PHP提供的一種強大的工具,它可以幫助我們在程式運行時取得類別、方法和屬性等資訊。透過反射,我們可以動態地獲取類別或物件的方法、屬性和註釋等信息,使

PHP函數的魔術方法 PHP函數的魔術方法 May 19, 2023 am 08:06 AM

PHP是一種基於C語言開發的伺服器端腳本語言,它在Web開發中廣泛應用。而函數是程式中最基本、最常用的組成部分之一,PHP也提供了許多與函數相關的魔術方法,可以幫助開發者更好地利用函數的優勢。在本文中,我們將介紹PHP函數的魔術方法及其用法。 __construct()__construct()是PHP中最常用的魔術方法之一,它在建立物件時會自動調用,用於初始化

魔術方法:在PHP中理解__construct,__destruct等核心方法 魔術方法:在PHP中理解__construct,__destruct等核心方法 Jun 19, 2023 pm 11:22 PM

魔術方法:在PHP中理解__construct,__destruct等核心方法在PHP語言中,有一些特殊的方法被稱為“魔術方法”,其中包括__construct,__destruct等。這些方法在PHP的物件導向程式設計中扮演著重要的角色。本文將講解這些方法的作用和實際應用。 __construct方法__construct方法是個很重要的方法,它是在PHP

帶你吃透16個PHP魔術方法 帶你吃透16個PHP魔術方法 May 16, 2022 pm 08:45 PM

什麼是魔術方法?這篇文章帶大家了解16個PHP 開發者必知必會的魔術方法,希望對大家有幫助!

PHP入門指南:魔術方法 PHP入門指南:魔術方法 May 20, 2023 am 09:21 AM

PHP作為一種廣泛應用的開發語言,具有豐富的特性,它的魔術方法就是其中之一,本文將為大家介紹PHP中的魔術方法。一、什麼是魔術方法?在PHP中,魔術方法是指一類可以自動呼叫的方法。這些方法使用特殊的名稱,以雙底線(__)開頭和結尾,並在調用它們時具有特殊的行為。二、PHP常用的魔術方法__construct()在創造一個新的物件時,__construc

See all articles