ホームページ >バックエンド開発 >PHPチュートリアル >__construct()、__destory()、__get()、__set()、__call()、PHP の _PHP チュートリアル

__construct()、__destory()、__get()、__set()、__call()、PHP の _PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:44:381482ブラウズ

(1) __construct() は PHP の組み込みコンストラクターで、オブジェクトがインスタンス化されると、最初にオブジェクトのこのメソッドが呼び出されます。

例: クラス Test

{

関数 __construct()

{

echo "これは __construct 関数です!";

}

関数 Test()

{

echo "これはテストです!";

}

}

$objTest = new Test; // 結果は「これは __construct 関数です!」です


(2) __destory() は、PHP の組み込みデストラクターです。このメソッドは、オブジェクトの削除またはオブジェクトの操作の終了時に呼び出され、リソースの解放などの操作を実行できます。

クラステスト

{

関数__destory()

{

echo "これは __destory 関数です!";

}

}

$objTest = new Test; // 結果は「これは __destory 関数です!」です


(3) __get() は、Java のさまざまなリフレクション操作と同様に、存在しないプロパティを読み取ろうとしたときに呼び出されます。

クラステスト

{

関数 __get($key)

{

echo $key, "存在しません!";

}

}

$objTest = 新しいテスト;

$objTest->Name; // 結果は「名前が存在しません!」です


(4) 存在しないプロパティに値を書き込もうとすると、__set() が呼び出されます。

クラステスト

{

関数 __set($key, $val)

{

echo "" . $val . "" を "に割り当てることができません。 $key;

}

}

$objTest = 新しいテスト;

$objTest->Name = "ljlwill"; // 結果は「名前に "ljlwill" を割り当てることができません」


(5) __call() このメソッドは、オブジェクト上に存在しないメソッドを呼び出そうとしたときに呼び出されます。

クラステスト

{

関数 __call($key, $args)

{

echo "関数 "". $key ."" は存在しません。引数は ".

}

}

$objTest = 新しいテスト;

$objTest->getName("2004", "ljlwill");

// 結果は、関数 "getName" が存在しません。引数は次のとおりです: Array(

)

[0] => 2004;

[1] =>

)

(6) __toString() は、Java の toString メソッドと同様に、オブジェクトを印刷するときに呼び出されます。この関数は、オブジェクトを直接印刷するときに呼び出されます。

クラステスト

{

関数 __toString()

{

return "これはテストです!";

}

}

$objTest = 新しいテスト;

eho $objTest; // 結果は「これがテストです!」です

(7) オブジェクトのクローン作成時に __clone() が呼び出されます。

クラステスト

{

関数 __clone()

{

echo 「私はクローンです!」 }


}

$objTest = 新しいテスト;

$objCloneTest = clone $objTest; // 結果は「クローンされました!」です

www.bkjia.com本当http://www.bkjia.com/PHPjc/478729.html技術記事 (1) __construct() は PHP の組み込みコンストラクターで、オブジェクトがインスタンス化されると、最初にオブジェクトのこのメソッドが呼び出されます。 例: c...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。