PHP5ÃæÏò¶ÔÏó£ºObject Cloning
PHP4:
<?
$sample1 = new StdClass();
$sample1->name = "Hasin";
$sample2 = $sample1;
$sample2->name = "Afif";
echo $sample1->name;
?>
In PHP4 it works differently; it will output Hasin, as both are different from
each other.
PHP5:
<?
$sample1 = new StdClass();
$sample1->name = "Hasin";
$sample2 = $sample1;
$sample2->name = "Afif";
echo $sample1->name;
?>
The output is Afif
PHP5:
<?
$sample1 = new stdClass();
$sample1->name = "Hasin";
$sample2 =clone $sample1;
$sample2->name = "Afif";
echo $sample1->name;
?>
The output now would be Hasin.
__clone·½·¨µÄʹÓÃ
ĬÈϵØ,ÓÃ__clone·½·¨½«½¨Á¢Ò»¸öÓëÔ¶ÔÏóÓµÓÐÏàͬÊôÐԺͷ½·¨µÄ¶ÔÏó. Èç¹ûÄãÏëÔÚ¿Ë¡ʱ¸Ä±äĬÈϵÄÄÚÈÝ,ÄãÒªÔÚ__cloneÖи²Ð´(ÊôÐÔ»ò·½·¨).
¿Ë¡µÄ·½·¨¿ÉÒÔûÓвÎÊý,µ«Ëüͬʱ°üº¬thisºÍthatÖ¸Õë(thatÖ¸Ïò±»¸´ÖƵĶÔÏó). Èç¹ûÄãÑ¡Ôñ¿Ë¡×Ô¼º,ÄãҪСÐĸ´ÖÆÈκÎÄãÒªÄãµÄ¶ÔÏó°üº¬µÄÐÅÏ¢,´Óthatµ½this. Èç¹ûÄãÓÃ__cloneÀ´¸´ÖÆ. PHP²»»áÖ´ÐÐÈκÎÒþÐԵĸ´ÖÆ,
ÏÂÃæÏÔʾÁËÒ»¸öÓÃϵÁÐÐòÊýÀ´×Ô¶¯»¯¶ÔÏóµÄÀý×Ó:
class ObjectTracker //¶ÔÏó¸ú×ÙÆ÷
{
private static $nextSerial = 0;
private $id;
private $name;
function __construct($name) //¹¹Ô캯Êý
{
$this->name = $name;
$this->id = ++self::$nextSerial;
}
function __clone() //¿Ë¡
{
$this->name = "Clone of $this->name";
$this->id = ++self::$nextSerial;
}
function getId() //»ñÈ¡idÊôÐÔµÄÖµ
{
return($this->id);
}
function getName() //»ñÈ¡nameÊôÐÔµÄÖµ
{
return($this->name);
}
}
$ot = new ObjectTracker("Zeev's Object");
$ot2 = clone$ot;
//Êä³ö: 1 Zeev's Object
print($ot->getId() . " " . $ot->getName() . "
");
//Êä³ö: 2 Clone of Zeev's Object
print($ot2->getId() . " " . $ot2->getName() . "
");
?>
Ïà¹ØÎĵµ£º
1. ½éÉÜ
1.1. ±ê×¼»¯µÄÖØÒª**
±ê×¼»¯ÎÊÌâÔÚijЩ·½ÃæÉÏÈÃÿ¸öÈËÍ·Í´£¬ÈÃÈËÈ˶¼¾õµÃ´ó¼Ò´¦ÓÚͬÑùµÄ¾³µØ¡£ÕâÓÐÖúÓÚÈÃÕâЩ½¨ÒéÔÚÐí¶àµÄÏîÄ¿Öв»¶ÏÑݽø£¬Ðí¶à¹«Ë¾»¨·ÑÁËÐí¶àÐÇÆÚÖð×Ó×ÖÖð¾äµÄ½øÐÐÕùÂÛ¡£±ê×¼»¯²»ÊÇÌØÊâµÄ¸öÈË·ç¸ñ£¬Ëü¶Ô±¾µØ¸ÄÁ¼ÊÇÍêÈ«¿ª·ÅµÄ¡£
1.2. Óŵã
µ±Ò»¸öÏîÄ¿³¢ÊÔ×Å×ñÊØ¹«Óõıê׼ʱ£¬»áÓÐÒÔϺô¦£ ......
1.Èç¹ûÒ»¸ö·½·¨¿É¾²Ì¬»¯£¬¾Í¶ÔËü×ö¾²Ì¬ÉùÃ÷¡£ËÙÂÊ¿ÉÌáÉýÖÁ4±¶¡£
2.echo ±È print ¿ì¡£
3.ʹÓÃechoµÄ¶àÖØ²ÎÊý£¨Òë×¢£ºÖ¸ÓöººÅ¶ø²»ÊǾäµã£©´úÌæ×Ö·û´®Á¬½Ó¡£
4.ÔÚÖ´ÐÐforÑ»·Ö®Ç°È·¶¨×î´óÑ»·Êý£¬²»ÒªÃ¿Ñ»·Ò»´Î¶¼¼ÆËã×î´óÖµ¡£
5.×¢ÏúÄÇЩ²»ÓõıäÁ¿ÓÈÆäÊÇ´óÊý×飬ÒÔ±ãÊÍ·ÅÄÚ´æ¡£
6.¾¡Á¿±ÜÃâʹÓÃ__get£¬__set£¬__autolo ......
×÷Õß ³ÂºÆ £¨Haohappy£©
MSN: haohappy # php.net
2009-08-13
±¾ÎÄ¿¯ÓÚ¡¶³ÌÐòÔ±¡·ÔÓÖ¾ 2009.09
×ªÔØÇë×¢Ã÷×÷Õß¼°³ö´¦
ºÁÎÞÒÉÎÊ£¬Èç½ñPHPÒѾ³ÉΪWEB¿ª·½µ±ÖÐ×îÈÈÃŵļ¼ÊõÖ®Ò»¡£¸ù¾Ýnexen.netµÄµ÷²é£¬»¥ÁªÍøÉÏÈý·ÖÖ®Ò»µÄÍøÕ¾Ñ¡ÔñPHPÀ´¿ª·¢·þÎñÆ÷¶Ë³ÌÐò¡£ÔÚÅ·ÃÀºÍÈÕ±¾µÈ¹ú¼Ò£¬PHP¿ª·¢Êг¡³ÊÏÖ³öһƬÐÀÐ ......
Ò»¡¢ ¿ª·¢³ÉÔ±
a)ÏîÄ¿Ö÷¹Ü
b)Ò³ÃæÃÀ¹¤
c)Ò³Ãæ¿ª·¢
d)·þÎñ¶Ë³ÌÐò¿ª·¢
e)ϵͳÓëÊý¾Ý¹ÜÀí
f)²âÊÔÓë°æ±¾¿ØÖÆ
¶þ¡¢ ÍøÕ¾×鿪·¢¼òÃ÷Á÷³Ì
Èý¡¢ ¿ª·¢¹¤¾ßÓë»·¾³
a) ·þÎñÆ÷ÅäÖÃ
i. WEB·þÎñÆ÷£º FreeBSD6.1+Apache2.0+PHP5.0£¬SVN°æ±¾¿ØÖÆ·þÎñ(½ö²âÊÔ»ú)¡£
ii. Êý¾Ý¿â·þÎñÆ÷£º WIN2003 server+SQL server 2000+ ......
Php×¢Èë¹¥»÷ÊÇÏÖ½ñ×îÁ÷ÐеĹ¥»÷·½Ê½£¬ÒÀ¿¿ËüÇ¿´óµÄÁé»îÐÔÎüÒýÁ˹ã´óºÚÃÔ¡£
ÔÚÉÏÒ»ÆÚµÄ¡¶php°²È«Óë×¢ÉäרÌâ¡·ÖÐÁÖ.linxÖ÷Òª½²ÊöÁËphp³ÌÐòµÄ¸÷ÖÖ©¶´£¬Ò²½²µ½ÁËphp£«mysql×¢ÈëµÄÎÊÌ⣬¿ÉÊǽ²µÄ×¢ÈëµÄÎÊÌâ±È½ÏÉÙ£¬ÈÃÎÒÃǸоõûÓо¡ÐËÊǰÉ.
OK,ÕâÒ»ÆÚÎÒ½«¸ø´ó¼Ò»ï×Ð×ÐϸϸµÄ´µÒ»´µphp£«mysql×¢È룬һ¶¨ÈÃÄãÂúÔØ¶ø¹éŶ ......