ホームページ >バックエンド開発 >PHPの問題 >phpのマジックメソッドとは何ですか?

phpのマジックメソッドとは何ですか?

coldplay.xixi
coldplay.xixiオリジナル
2021-03-17 17:40:133488ブラウズ

php マジックメソッド: 1. [_sleep()] はオブジェクトのシリアル化時の実際の処理部分を制御します; 2. [_wakeup()] は逆シリアル化後にオブジェクトの属性を復元します; 3. [_toString()] のメカニズムオブジェクトを文字列に変換します。

phpのマジックメソッドとは何ですか?

このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 5.6、DELL G3 コンピューター。

php マジックメソッド:

_sleep() はオブジェクトがシリアル化されるときに実際に処理される部分を制御できます

_wakeup() は逆シリアル化後に復元しますオブジェクト属性

_toString() オブジェクトを文字列に変換するメカニズム

PHP 変数をエンコードされた文字列の文字列に変換します。メソッドは、serialize() Deserialize unserialize()

  //序列化
  class testSerialize{
   public $a = 10;
   public $b = 15;
   public $c = 20;
   function _construct(){
   $this->b = $this->a * 10;
   $this->c = $this->b * 2;
   } 
  }
$k = serialize(new testSerialize());
echo $k;//
out:  O:13:"testSerialize":3:{s:1:"a";i:10;s:1:"b";i:15;s:1:"c";i:20;}
$j = unserialize($k);

sleep メソッド:

class testSerialize1{
   public $a = 10;
   public $b = 15;
   public $c = 20;
   function _construct(){
   $this->b = $this->a * 10;
   $this->c = $this->b * 2;
   } 
   function __sleep(){
   return $this->a;
   }
  }
$k = serialize(new testSerialize1());
echo $k;

同じことが他のメソッドにも当てはまります

関連ビデオの推奨事項: PHP プログラミングの入門から熟練度まで

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。