ホームページ > バックエンド開発 > PHPチュートリアル > PHP5 destructor の具体的な使い方を分析する_PHP チュートリアル

PHP5 destructor の具体的な使い方を分析する_PHP チュートリアル

WBOY
リリース: 2016-07-15 13:29:11
オリジナル
993 人が閲覧しました

アップグレードバージョンでは PHP5では、クラスと同じ名前を持つのではなく、__construct()を使用してコンストラクターに名前を付けます。これの利点は、クラス名を付けるときにコンストラクターをクラス名から独立させることができることです。が変更される場合、それに応じてコンストラクターの名前を変更する必要はありません。

コンストラクターとは対照的に、PHP5 では、PHP5 デストラクターと呼ばれる __destruct() という名前の関数を定義できます。PHP は、オブジェクトを完全に破棄できるように、メモリ内でオブジェクトが破棄される前にデストラクターを呼び出します。消える前に終わった。オブジェクトの破棄は通常、null に値を代入することで実現できます。

<ol class="dp-xml">
<li class="alt">
<span><strong><font color="#006699"><span class="tag"><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=""><SPAN>/*  </SPAN><LI class=alt><SPAN> * Created on 2009-11-18  </SPAN><LI class=""><SPAN> *  </SPAN><LI class=alt><SPAN> * To change the template for this generated file go to  </SPAN><LI class=""><SPAN> * Window - Preferences - PHPeclipse - PHP - Code Templates  </SPAN><LI class=alt><SPAN> */  </SPAN><LI class=""><SPAN> class student{  </SPAN><LI class=alt><SPAN>  //属性  </SPAN><LI class=""><SPAN>  private $no;  </SPAN><LI class=alt><SPAN>  private $name;  </SPAN><LI class=""><SPAN>  private $gender;  </SPAN><LI class=alt><SPAN>  private $age;  </SPAN><LI class=""><SPAN>    </SPAN><LI class=alt><SPAN>  private static $</SPAN><SPAN class=attribute><FONT color=#ff0000>count</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>0</FONT></SPAN><SPAN>;  </SPAN></SPAN><LI class=""><SPAN>  function __construct($pname)  </SPAN><LI class=alt><SPAN>  {  </SPAN><LI class=""><SPAN>   $this-</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></span></font></strong></span><span class="attribute"><font color="#ff0000">name</font></span><span> = $pname;  </span>
</li>
<li class="alt"><span>   self::$count++;  </span></li>
<li class=""><span>  }  </span></li>
<li class="alt"><span>    </span></li>
<li class=""><span>  function __destruct()  </span></li>
<li class="alt"><span>  {  </span></li>
<li class=""><span>   self::$count--;  </span></li>
<li class="alt"><span>  }  </span></li>
<li class=""><span>    </span></li>
<li class="alt"><span>  static function get_count()  </span></li>
<li class=""><span>  {  </span></li>
<li class="alt"><span>   return self::$count;  </span></li>
<li class=""><span>  }  </span></li>
<li class="alt"><span> }  </span></li>
<li class=""><span>   </span></li>
<li class="alt">
<span> $</span><span class="attribute"><font color="#ff0000">s1</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">new</font></span><span> student("Tom");  </span>
</li>
<li class=""><span> print(student::get_count());  </span></li>
<li class="alt"><span>   </span></li>
<li class="">
<span> $</span><span class="attribute"><font color="#ff0000">s2</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">new</font></span><span> student("jerry");  </span>
</li>
<li class="alt"><span> print(student::get_count());  </span></li>
<li class=""><span>   </span></li>
<li class="alt">
<span> $</span><span class="attribute"><font color="#ff0000">s1</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">NULL</font></span><span>;  </span>
</li>
<li class=""><span> print(student::get_count());  </span></li>
<li class="alt"><span>   </span></li>
<li class="">
<span> $</span><span class="attribute"><font color="#ff0000">s2</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">NULL</font></span><span>;  </span>
</li>
<li class="alt"><span> print(student::get_count());  </span></li>
<li class="">
<span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span>
</li>
</ol>
ログイン後にコピー

上記のコードは、PHP5 デストラクターの具体的な使用方法です。


www.bkjia.com本当http://www.bkjia.com/PHPjc/446387.html技術記事 PHP5 のアップグレードされたバージョンでは、クラスと同じ名前を持つのではなく、__construct() を使用してコンストラクターに名前を付けます。この利点は、クラス名が変更されたときにコンストラクターをクラス名から独立させることができることです。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート