µ±Ç°Î»ÖãºLinux½Ì³Ì - Php - µÚËÄ½Ú ¹¹Ô캯ÊýºÍÎö¹¹º¯Êý [4]

µÚËÄ½Ú ¹¹Ô캯ÊýºÍÎö¹¹º¯Êý [4]

¡¡Èç¹ûÄãÔÚÒ»¸öÀàÖÐÉùÃ÷Ò»¸öº¯Êý,ÃüÃûΪ__construct,Õâ¸öº¯Êý½«±»µ±³ÉÊÇÒ»¸ö¹¹Ô캯Êý²¢ÔÚ½¨Á¢Ò»¸ö¶ÔÏóʵÀýʱ±»Ö´ÐÐ. Çå³þµØ˵,__ÊÇÁ½¸öÏ»®Ïß. ¾ÍÏñÆäËüÈκκ¯ÊýÒ»Ñù,¹¹Ô캯Êý¿ÉÄÜÓвÎÊý»òÕßĬÈÏÖµ. Äã¿ÉÒÔ¶¨ÒåÒ»¸öÀàÀ´½¨Á¢Ò»¸ö¶ÔÏó²¢½«ÆäÊôÐÔÈ«·ÅÔÚÒ»¸öÓï¾ä(statement)ÖÐ.

¡¡¡¡ÄãÒ²¿ÉÒÔ¶¨ÒåÒ»¸öÃûΪ__destructµÄº¯Êý,PHP½«ÔÚ¶ÔÏó±»Ïú»ÙÇ°µ÷ÓÃÕâ¸öº¯Êý. Ëü³ÆΪÎö¹¹º¯Êý.

¡¡¡¡¼Ì³ÐÊÇÀàµÄÒ»¸öÇ¿´ó¹¦ÄÜ. Ò»¸öÀà(×ÓÀà/ÅÉÉúÀà)¿ÉÒԼ̳ÐÁíÒ»Àà(¸¸Àà/»ùÀà)µÄ¹¦ÄÜ. ÅÉÉúÀཫ°üº¬ÓлùÀàµÄËùÓÐÊôÐԺͷ½·¨,²¢¿ÉÒÔÔÚÅÉÉúÀàÖмÓÉÏÆäËûÊôÐԺͷ½·¨. ÄãÒ²¿ÉÒÔ¸²Ð´»ùÀàµÄ·½·¨ºÍÊôÐÔ. ¾ÍÏñ3.1.2ÖÐÏÔʾµÄ,Äã¿ÉÒÔÓÃextends¹Ø¼ü×ÖÀ´¼Ì³ÐÒ»¸öÀà.

¡¡¡¡Äã¿ÉÄÜÏëÖªµÀ¹¹Ô캯ÊýÊÇÈçºÎ±»¼Ì³ÐµÄ. µ±ËüÃǺÍÆäËü·½·¨Ò»Æ𱻼̳Ðʱ,ËûÃDz»»áÔÚ´´½¨¶ÔÏóʱ±»Ö´ÐÐ.
Èç¹ûÄãÐèÒªÕâ¸ö¹¦ÄÜ,ÄãÐèÒªÓõڶþÕÂÌáµ½µÄ::ÔËËã·û. ËüÔÊÐíÄãÖ¸ÏòÒ»¿éÃüÃû¿Õ¼ä. parentÖ¸Ïò¸¸ÀàÃüÃû¿Õ¼ä,Äã¿ÉÒÔÓÃparent::__constructÀ´µ÷Óø¸ÀàµÄ¹¹Ô캯Êý.

¡¡¡¡Ò»Ð©ÃæÏò¶ÔÏóÓïÑÔÔÚÀàÖ®ºóÃüÃû¹¹Ô캯Êý. PHPµÄÇ°¼¸¸ö°æ±¾Ò²ÊÇÈç´Ë,µ½ÏÖÔÚÕâÖÖ·½·¨ÈÔÈ»ÓÐЧ.Ò²¾ÍÊÇ:Èç¹ûÄã°ÑÒ»¸öÀàÃüÃûΪAnimal²¢ÇÒÔÚÆäÖн¨Á¢Ò»¸öÃüÃûÒ²ÊÇAnimalµÄ·½·¨,ÔòÕâ¸ö·½·¨¾ÍÊǹ¹Ô캯Êý.Èç¹ûÒ»¸öÀàµÄͬʱӵÓÐ__construt¹¹Ô캯ÊýºÍÓëÀàÃûÏàͬµÄº¯Êý,PHP½«°Ñ__construct¿´×÷¹¹Ô캯Êý.ÕâʹµÃÓÃÒÔÇ°µÄPHP°æ±¾ËùдµÄÀàÈÔÈ»¿ÉÒÔʹÓÃ. µ«ÐµĽű¾(PHP5)Ó¦µ±Ê¹ÓÃ__construct.

¡¡¡¡PHPµÄÕâÖÖеÄÉùÃ÷¹¹Ô캯ÊýµÄ·½·¨¿ÉÒÔʹ¹¹Ô캯ÊýÓÐÒ»¸ö¶ÀÒ»ÎÞ¶þµÄÃû³Æ,ÎÞÂÛËüËùÔÚµÄÀàµÄÃû³ÆÊÇʲô. ÕâÑùÄãÔڸıäÀàµÄÃû³Æʱ,¾Í²»ÐèÒª¸Ä±ä¹¹Ô캯ÊýµÄÃû³Æ.

¡¡¡¡Äã¿ÉÄÜÔÚPHPÖиø¹¹Ô캯ÊýÒ»¸öÏñÆäËüÀà·½·¨Ò»ÑùµÄ·ÃÎÊ·½Ê½. ·ÃÎÊ·½Ê½½«»áÓ°Ïì´ÓÒ»¶¨·¶Î§ÄÚʵÀý»¯¶ÔÏóµÄÄÜÁ¦. ÕâÔÊÐíʵÏÖһЩ¹Ì¶¨µÄÉè¼Æģʽ,ÈçSingletonģʽ.

¡¡¡¡Îö¹¹º¯Êý,Ïà·´ÓÚ¹¹Ô캯Êý. PHPµ÷ÓÃËüÃÇÀ´½«Ò»¸ö¶ÔÏó´ÓÄÚ´æÖÐÏú»Ù. ĬÈϵØ,PHP½ö½öÊͷŶÔÏóÊôÐÔËùÕ¼ÓõÄÄÚ´æ²¢Ïú»Ù¶ÔÏóÏà¹ØµÄ×ÊÔ´. Îö¹¹º¯ÊýÔÊÐíÄãÔÚʹÓÃÒ»¸ö¶ÔÏóÖ®ºóÖ´ÐÐÈÎÒâ´úÂëÀ´Çå³ýÄÚ´æ.

¡¡¡¡µ±PHP¾ö¶¨ÄãµÄ½Å±¾²»ÔÙÓë¶ÔÏóÏà¹Øʱ,Îö¹¹º¯Êý½«±»µ÷ÓÃ. ÔÚÒ»¸öº¯ÊýµÄÃüÃû¿Õ¼äÄÚ,Õâ»á·¢ÉúÔÚº¯ÊýreturnµÄʱºò. ¶ÔÓÚÈ«¾Ö±äÁ¿,Õâ·¢ÉúÓڽű¾½áÊøµÄʱºò. Èç¹ûÄãÏëÃ÷È·µØÏú»ÙÒ»¸ö¶ÔÏó,Äã¿ÉÒÔ¸øÖ¸Ïò¸Ã¶ÔÏóµÄ±äÁ¿·ÖÅäÈκÎÆäËüÖµ. ͨ³£½«±äÁ¿¸³ÖµÇÚΪNULL»òÕßµ÷ÓÃunset .

¡¡¡¡ÏÂÃæµÄÀý×ÓÖÐ,¼ÆËã´ÓÀàÖÐʵÀý»¯µÄ¶ÔÏóµÄ¸öÊý. CounterÀà´Ó¹¹Ô캯Êý¿ªÊ¼ÔöÖµ,ÔÚÎö¹¹º¯Êý¼õÖµ.

¡¡¡¡Ò»µ©Ä㶨ÒåÁËÒ»¸öÀà,Äã¿ÉÒÔÓÃnewÀ´½¨Á¢Ò»¸öÕâ¸öÀàµÄʵÀý. ÀàµÄ¶¨ÒåÊÇÉè¼Æͼ,ʵÀýÔòÊÇ·ÅÔÚ×°ÅäÏßÉϵÄÔª¼þ. NewÐèÒªÀàµÄÃû³Æ,²¢·µ»Ø¸ÃÀàµÄÒ»¸öʵÀý. Èç¹û¹¹Ô캯ÊýÐèÒª²ÎÊý,ÄãÓ¦µ±ÔÚnewºóÊäÈë²ÎÊý.

<?php
class Counter
{
private static $count = 0;

function __construct()
{
self::$count++;
}

function __destruct()
{
self::$count--;
}

function getCount()
{
return self::$count;
}
}

//½¨Á¢µÚÒ»¸öʵÀý
$c = new Counter();

//Êä³ö1
print($c->getCount() . "<br>n");

//½¨Á¢µÚ¶þ¸öʵÀý
$c2 = new Counter();

//Êä³ö2
print($c->getCount() . "<br>n");

//Ïú»ÙʵÀý
$c2 = NULL;

//Êä³ö1
print($c->getCount() . "<br>n");
?>

¡¡¡¡µ±Äãн¨ÁËÒ»¸öʵÀý,ÄÚ´æ»á±»×¼±¸À´´æ´¢ËùÓÐÊôÐÔ. ÿ¸öʵÀýÓÐ×Ô¼º¶ÀÓеÄÒ»×éÊôÐÔ. µ«·½·¨ÊÇÓɸÃÀàµÄËùÓÐʵÀý¹²ÏíµÄ¡£