ホームページ > バックエンド開発 > PHPチュートリアル > PHP マジック メソッド __set __get メソッド

PHP マジック メソッド __set __get メソッド

WBOY
リリース: 2016-07-29 09:02:13
オリジナル
929 人が閲覧しました

まずは公式ドキュメントの説明を見てください
__set()はアクセスできないプロパティにデータを書き込むときに実行されます
__get()はアクセスできないプロパティからデータを読み込むときに利用されます
中国語に訳すとどうなるでしょうか? アクセス不能: n. 到達するのが困難; 理解できない。
コードがあって真実がある:

;

<?php

error_reporting(E_ALL);

class stu{

private $a;

private $b<?php

error_reporting public $c;

public $d(E_ALL);

class ステュ{

private function __get($name

プライベート

return 123;

}

$a;

private function __set($name $valueプライベート $b

= 0; echo;

}

}

$s 公開new stu();

var_dump($s $c;

var_dump($s 0;

var_dump($s //ここ private は protected public

var_dump($s private function

__get(var_dump($s$name) に置き換えることができます {

$s //ここ private は protected public

$sprivate function __set(

$name$s, $価値

) {

?>

設定された関数です"

}



}


$s

=

新しい🎜 🎜stu();🎜🎜🎜🎜var_dump(🎜🎜$s🎜🎜->a); 🎜🎜//出力: 123🎜🎜🎜🎜var_dump(🎜🎜$s🎜🎜->b); 🎜🎜//出力: 123🎜🎜🎜🎜var_dump(🎜🎜$s🎜🎜->c); 🎜🎜//出力: null🎜🎜🎜🎜var_dump(🎜🎜$s🎜🎜->d); 🎜🎜//出力: 0🎜🎜🎜🎜var_dump(🎜🎜$s🎜🎜->e); 🎜🎜//出力: 123🎜🎜🎜🎜$s🎜🎜->a = 3; 🎜🎜//出力: これは set 関数です🎜🎜🎜🎜$s🎜🎜->c = 3; 🎜🎜//いいえ 出力🎜🎜🎜🎜$s🎜🎜->f = 3; 🎜🎜//出力: これは set 関数です🎜🎜🎜🎜?> 致命的なエラーが発生します🎜 __get メソッドがない場合、var_dump($s->e) の実行時に、属性 $e が定義されていないことを示す通知が表示されます🎜概要:🎜1. アクセスできない属性からデータを読み取る場合、__get() メソッドが呼び出されます🎜2. アクセスが困難なプロパティに値を割り当てる場合、__set() メソッドが呼び出されます🎜3.含まれるもの: (1) プライベート プロパティ、(2) 初期化なしのプロパティ🎜4. __isset () __unset() も同様です🎜 🎜 上記では、PHP のマジック メソッド __set __get メソッドを、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。 🎜 🎜 🎜
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート