ホームページ  >  記事  >  バックエンド開発  >  PHP マジック メソッド __get() および __set() の使用方法の詳細な説明_PHP チュートリアル

PHP マジック メソッド __get() および __set() の使用方法の詳細な説明_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:16:10802ブラウズ

まず、公式 PHP ドキュメントの説明を見てみましょう:
__set() はアクセスできないプロパティにデータを書き込むときに実行されます
__get() はアクセスできないプロパティからデータを読み取るために利用されます

中国語での翻訳方法。 ?
アクセス不能: n. 到達するのが困難。

コードがあり、真実があります:

コードをコピーします コードは次のとおりです:

error_reporting(E_ALL);
class stu{
private $a; b = 0;
public $c;
public $d = 0;
//ここでの private は protected public
private function __get($name) {
return 123;

//ここでは、保護された public
private function __set($name, $value) {
echo "This is set function"
}
}
$s = new stu($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; //これは関数
$s->c = 3; //出力なし
$s-> f = 3; //出力: これは set 関数



結果の分析:
__get メソッドがない場合は、var_dump($s-> ;a) var_dump($s->b ) 致命的なエラーが発生します
__get メソッドがない場合、var_dump($s->e) を実行すると、属性 $e が定義されていないことが通知されます
概要:
1. アクセスできない属性から読み取る データを取得するときに __get() メソッドが呼び出されます
2. アクセスが難しい属性に値を割り当てるときに __set() メソッドが呼び出されます
3.アクセスには次のものが含まれます: (1) プライベート属性、(2) 初期化されていない属性
4. __isset() __unset() も同様です。

http://www.bkjia.com/PHPjc/325964.html

www.bkjia.com

tru​​e

技術記事まずは公式のPHPドキュメントの説明を見てみましょう: __set() はアクセスできないプロパティにデータを書き込むときに実行されます. __get() はアクセスできないプロパティからデータを読み取るために利用されます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。