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. Óŵã
µ±Ò»¸öÏîÄ¿³¢ÊÔ×Å×ñÊØ¹«Óõıê׼ʱ£¬»áÓÐÒÔϺô¦£ ......
<?
//http://www.jb51.net
class upLoad{
public $length; //ÏÞ¶¨Îļþ´óС
public $file; //ÅжϴËÀàÊÇÓÃÓÚͼƬÉÏ´«»¹ÊÇÎļþÉÏ´«
public $fileName; //ÎļþÃû
public $fileTemp; //ÉÏ´«ÁÙʱÎļþ
public $fileSize; //ÉÏ´«Îļþ´óС
public $error; //ÉÏ´«ÎļþÊÇ·ñÓдí,php4ûÓÐ
public $fileType; //ÉÏ ......
Apache
PHP
MySQL
°´ÕÕͨ³£µÄ·½·¨£¨¿ÉÒÔÔÚÍøÉϺÜÈÝÒ×ËÑË÷µ½£©È«²¿°²×°Íê³Éºó£¬
1£¬ÐÞÕýhttpd.conf
¿É°´ÕÕÍøÂçÉÏ¿ÉËÑË÷µ½µÄapache°²×°½Ì³ÌÐ޸ľßÌåÄÚÈÝ¡£ÕâÒ»²½Ö÷ÒªÊÇÅäÖÃapache±¾ÉíµÄ²ÎÊý¡£
2£¬¼ÓÈëÖ§³Öphp5ºÍmysqlµÄ´úÂëµ½httpd.conf
LoadFile G:/server/php5/libmysql.dll
LoadModule php5_module G:/serve ......
֮ǰһֱ¶¼ÊÇÔÚ·þÎñÆ÷µ÷ÊÔ³ÌÐò£¬ÓÐÒ»ÌìÏëŪµ½±¾µØÀ´£¬¿ÉËÀ»î¾ÍÊÇÁ¬²»ÉÏÔ¶³Ì·þÎñÆ÷ÁË¡£
±¾µØ£ºwindows+apache¡£
Ô¶³Ì·þÎñÆ÷£ºwindows+ms sql 2008.
phpºÍapache¸ÃÅäÖõͼÅäÁË£¬ÆäËû³ÌÐòÒ²¿ÉÒÔÔËÐУ¬¿É¾ÍÊÇÁ¬²»ÉÏÊý¾Ý¿â¡£
¿à¿àѰÃÙ ......
1¡¢¹ÅÀÏµÄÆÛÆSQLÓï¾ä
ÔÚĬÈÏģʽÏ£¬¼´Ê¹ÊÇÄãÍüÁ˰Ñphp.ini¿½µ½/usr/local/lib/php.iniÏ£¬php»¹ÊÇ´ò¿ªmagic_quotes_gpc=on¡£
ÕâÑùËùÓдÓGET/POST/CookieÀ´µÄ±äÁ¿µÄµ¥ÒýºÅ(')¡¢Ë«ÒýºÅ(")¡¢·´Ð±¸Übackslash(\)ÒÔ¼°¿Õ×ÖÔªNUL
(the null byte)¶¼»á±»¼ÓÉÏ·´Ð±¸Ü£¬ÒÔʹÊý¾Ý¿âÄܹ»ÕýÈ·²éѯ¡£
µ«ÊÇÔÚphp-4-RC2µÄʱºòÒýÈë ......