PHP (14) オブジェクト指向のマジック メソッド __set()、__get()、__isset()、および __unset()
__set() メソッドは、プライベート プロパティ値を設定するために使用されます。
__get() メソッドは、プライベート属性値を取得するために使用されます。
__isset() メソッドは、プライベート属性値が設定されているかどうかを検出するために使用されます。
__unset() メソッドは、プライベート属性を削除するために使用されます。
実際のアプリケーションではクラスの属性がprivateに設定されていることが多く、属性へのアクセスが必要な場合に面倒になります。プロパティへのアクセスはメソッドとして記述することができますが、PHP にはそのような操作を容易にする特別なメソッドがいくつか用意されています。
__set()
__set() メソッドはプライベート属性値を設定するために使用されます:
関数 __set($property_name, $value)
{
$this->$property_name = $value;
}クラスで __set() メソッドを使用した後、 $p1->name = "Zhang San"; を使用してオブジェクトのプライベート属性の値を設定すると、 __set() メソッドが自動的に呼び出されて設定されます。私有財産の価値。
__get()
__get() メソッドはプライベート属性値を取得するために使用されます:
関数 __set($property_name, $value)
{
return isset($this->$property_name) ? $this->$property_name : null;
}
例:
[php]
クラス パーソン {
プライベート $name
プライベート$セックス
プライベート$年齢
//__set() メソッドはプライベート属性を設定するために使用されます
関数 __set($property_name, $value) {
echo "プライベート属性の値を直接設定する場合、この __set() メソッドが自動的に呼び出され、プライベート属性に値が割り当てられます
";
$this->$property_name = $value;
}//__get() メソッドはプライベート属性を取得するために使用されます
関数 __get($property_name) {
echo "プライベート属性値を直接取得する場合、この __get() メソッドが自動的に呼び出されます
";
return isset($this->$property_name) ? $this->$property_name : null;
}}
$p1=新しい人()
//プライベート属性に値を直接割り当てる場合、割り当てのために __set() メソッドが自動的に呼び出されます
$p1->name = "張三"
//プライベート属性の値を直接取得します。__get() メソッドが自動的に呼び出され、メンバー属性の値が返されます
echo "私の名前は:".$p1->name;
?>
実行、出力:
プライベート属性の値を直接設定すると、__set() メソッドが自動的に呼び出され、プライベート属性に値が割り当てられます
プライベート属性値を直接取得する場合、この __get() メソッドが自動的に呼び出されます
私の名前は張三です
__isset()
__isset() メソッドは、プライベート属性値が設定されているかどうかを検出するために使用されます。
オブジェクト内のメンバーがパブリックである場合、isset() 関数を直接使用できます。プライベートメンバー属性の場合は、クラスに __isset() メソッドを追加する必要があります:
プライベート関数 __isset($property_name)
{
return isset($this->$property_name);
}
このように、オブジェクト内のプライベート メンバーが設定されているかどうかを判断するために isset() 関数がクラスの外部で使用されると、検出のために __isset() メソッドが自動的に呼び出されます。
__unset()
__unset() メソッドは、プライベート属性を削除するために使用されます。
isset() 関数と同様に、unset() 関数はオブジェクトのパブリック メンバー属性のみを削除できます。オブジェクト内のプライベート メンバー属性を削除したい場合は、__unset() メソッドを使用する必要があります。
プライベート関数 __unset($property_name)
{
unset($this->$property_name);

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ホットトピック









