アップグレードバージョンでは 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 デストラクターの具体的な使用方法です。