ホームページ > バックエンド開発 > PHPの問題 > PHP のマジック メソッドとは何ですか?よく使われる魔法の方法は何ですか?

PHP のマジック メソッドとは何ですか?よく使われる魔法の方法は何ですか?

慕斯
リリース: 2023-03-10 17:16:01
オリジナル
2781 人が閲覧しました

前回の記事では「PHPにおける継承と派生とは何ですか?」についてご紹介しました。継承をどのように使用するのでしょうか? 》ということで、この記事ではPHPのマジックメソッドとは何なのかを引き続き紹介していきます。よく使われる魔法の方法は何ですか?一定の参考値があるので、困っている友達が参考になれば幸いです。

PHP のマジック メソッドとは何ですか?よく使われる魔法の方法は何ですか?

#1. マジック メソッドとは

#システムが特定の時間に自動的に呼び出すメソッド

2. 一般的に使用されるマジック メソッド:

_get

トリガー タイミング: オブジェクトがプライベート メンバーまたは保護されたプロパティにアクセスするときに呼び出されます。 externally

このメソッドには 1 つのパラメーターがあります。パラメーターは属性名です。

コードを例として見てみましょう。

まず、新しいコードを作成します。ファイルを作成し、クラス Class を記述し、クラス内で属性を定義して、オブジェクトを作成します。定義したクラスをエコーすると、オブジェクトはパブリック属性のみにアクセスでき、プロテクト属性とプライベート属性にはアクセスできないため、エラーが見つかります。 .属性、コードは次のとおりです:

<?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 use と呼ばれるものです

- -set

トリガー タイミング: オブジェクトがプライベートまたは保護されたメンバー属性値を外部に設定するときに呼び出されます

このメソッドには 2 つのパラメーターがあります:

パラメータ 1: メンバ属性名!

パラメータ 2: 設定する値

コードを例として見てみましょう:

すべての Magic メソッドはすべて public を使用します。上記のように、クラスで属性を定義し、オブジェクトを作成します。set 属性には 2 つのパラメーターがあり、1 つは属性名、もう 1 つは属性値です。印刷します。

public function __set($name,$value)
    {
        var_dump($name,$value);
    }
}
$niu = new Person();
//echo $niu->pome;
$niu->pome = &#39;答案很长,我准备用一生的时间来回答,你准备要听了吗?&#39;;
ログイン後にコピー

コード表示結果:

PHP のマジック メソッドとは何ですか?よく使われる魔法の方法は何ですか?

#補足: (詳しい説明は次回)

unset を外部から使用できます。 オブジェクト内のパブリック プロパティを破棄します。

_unset

トリガー タイミング: プライベートまたは保護されたメンバー プロパティが外部から破棄されると、オブジェクトが呼び出されます。

このメソッドにはパラメータが 1 つあります: パラメータはプライベート メンバーの属性名です

_isset

トリガーのタイミング: 外部からの判断時にオブジェクトが呼び出されますプライベートまたは保護されたメンバー属性、

このメソッドにはパラメーターが 1 つあります。パラメーターはプライベート メンバー属性名です

construct:構築メソッド

トリガー時間: オブジェクトの作成時に自動的に呼び出されます

destruct: 破壊メソッド

toString (理解)

トリガーのタイミング: オブジェクトが作成されたときにエコートリガー

この関数には return -A 文字列が必要です

__debugInfo (理解)

トリガー タイミング: var_dump -- オブジェクトが発生したときにトリガーします

This関数は配列を返す必要があります

推奨される学習:

php ビデオ チュートリアル

以上がPHP のマジック メソッドとは何ですか?よく使われる魔法の方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート