»¶ÓÄú·ÃÎÊÎÒ°®IT¼¼ÊõÍø£¬½ñÌìС±àΪÄã·ÖÏíµÄ±à³Ì¼¼ÊõÊÇ£º¡¾¡¶PHPÉè¼ÆÄ£Ê½½éÉÜ¡·µ¼ÑÔ¡¿£¬ÏÂÃæÊÇÏêϸµÄ·ÖÏí£¡
¡¶PHPÉè¼ÆÄ£Ê½½éÉÜ¡·µ¼ÑÔ
µ±ÄãÔÚ²»¶ÏµÄÊÔͼ´ÓÄãµÄÓ¦ÓóÌÐòÖз¢ÏÖеÄÌØÕ÷ʱ£¬ÄãÊÇ·ñ·¢ÏÖÄãÌá³öµÄ½â¾ö·½·¨ºÍһЩÒÔǰÄãÒѾʵÏֵĶ«Î÷ÊÇÈç´ËµÄÀàËÆÄØ£¿Èç¹ûÄãÊÇÒ»¸ö³ÌÐòÔ±£¨¼´Ê¹Äã²Å ¿ªÊ¼ºÜ¶ÌµÄʱ¼ä£©£¬Äã¶¼¿ÉÄܻشð“ÊÇ”¡£Õâ¿´ÆðÀ´¾ÍÊÇÄãʹÓÃÁËһЩÒÔǰµÄ´úÂëÀ´½â¾öÈí¼þ¿ª·¢¹ý³ÌÖÐз¢ÏÖµÄÎÊÌâÁË¡£Äã¿ÉÄÜÒѾÈÏʶµ½£ºÄãµÄ½â¾ö·½·¨ÊÇ»ù±¾ ÔÀí£¬ÊÇÒ»¸ö²»½ö½öÊÇÄã¶øÇÒÊÇËùÓÐרҵ¿ª·¢Õß¶¼ÄÜ¹ã·ºÖØ¸´Ó¦Óõķ½·¨¡£
ÊÂʵÉÏ£¬Ðí¶à³ÌÐòÎÊÌâ¶¼²»¶ÏµÄ·´¸´µÄÓöµ½£¬¶øÇÒÐí¶àÓÃÀ´½â¾öÕâЩÎÊÌâµÄ»ù±¾·½·¨£¨»òÕß˵ÊÇÉè¼ÆÄ£Ê½£©¶¼ÒѾ¸¡ÏÖ³öÀ´¡£Éè¼ÆÄ£Ê½¾ÍÊÇÒ»¸ö½ÌÄãÈçºÎÀûÓÃÕæÊµ¿É¿¿µÄÉè¼ÆÀ´×éÖ¯ÄãµÄ´úÂëµÄÄ£°å¡£
Éè¼ÆÄ£Ê½ÀúÊ·
“Éè¼ÆÄ£Ê½”Õâ¸öÊõÓï×î³õ±»Éè¼ÆÓÃÓÚ½¨ÖþѧÁìÓò¡£Christopher Alexander ÔÚËû1977µÄÖø×÷“A Pattern Language :Towns/Building/Construction”ÀïÃæÃèÊöÁËһЩ³£¼ûµÄ½¨ÖþѧÉè¼ÆÎÊÌ⣬²¢½âÊÍÁËÈçºÎÓÃÕâЩÒÑÓеģ¬ÖøÃûµÄģʽ¼¯ºÏÀ´¿ªÊ¼È«Ð µÄÓÐЧµÄÉè¼Æ¡£AlexanderµÄ¹Ûµã±»ºÜºÃµÄת»¯µ½Èí¼þ¿ª·¢ÉÏÀ´£¬²¢ÇÒ³¤ÆÚµÄºÏÒâµÄÓÃÔÓеÄ×é¼þÀ´¹¹ÔìеĽâ¾ö·½°¸¡£
ËùÓеÄÉè¼ÆÄ£Ê½¶¼ÓÐһЩ³£ÓõÄÌØÐÔ£ºÒ»¸ö±êʶ£¨a name£©£¬Ò»¸öÎÊÌâ³ÂÊö£¨a problem statement£©ºÍÒ»¸ö½â¾ö·½°¸(a solution)¡£
- Ò»¸öÉè¼ÆÄ£Ê½µÄ±êʶÊÇÖØÒªµÄ£¬ÒòΪËü»áÈÃÆäËûµÄ³ÌÐòÔ±²»ÓýøÐÐÌ«ÉîÈëµÄѧϰ¾ÍÄÜÁ¢¿ÌÀí½âÄãµÄ´úÂëµÄÄ¿µÄ£¨ÖÁÉÙͨ¹ýÕâ¸ö±êʶ³ÌÐòÔ±»áºÜÊìϤÕâ¸öģʽ£©¡£
- ÎÊÌâÃèÊöÊÇÓÃÀ´ËµÃ÷Õâ¸öģʽµÄÓ¦ÓõÄÁìÓò¡£?
- ½â¾ö·½°¸ÃèÊöÁËÕâ¸öÄ£Ð͵ÄÖ´ÐС£Ò»¸öºÃµÄÉè¼ÆÄ£Ê½µÄÂÛÊöÓ¦¸Ã¸²¸ÇʹÓÃÕâ¸öÄ£Ð͵ÄÓŵãºÍȱµã¡£
Ò»¸öģʽÊǽâ¾öÌØ¶¨ÎÊÌâµÄÓÐЧ·½·¨¡£Ò»¸öÉè¼ÆÄ£Ê½²»ÊÇÒ»¸ö¿â£¨ÄÜÔÚÄãµÄÏîÄ¿ÖÐÖ±½Ó°üº¬ºÍʹÓõĴúÂë¿â£©¶øÊÇÒ»¸öÓÃÀ´×éÖ¯ÄãµÄ´úÂëµÄÄ£°å¡£ÊÂʵÉÏ£¬Ò»¸ö´úÂë¿âºÍÒ»¸öÉè¼ÆÄ£Ê½ÔÚÓ¦ÓÃÉÏÊÇÓкܶ಻ͬµÄ¡£
±ÈÈ磬Äã´ÓµêÆÌÀïÃæÂòµÄÒ»¼þ³ÄÉÀÊÇÒ»¸ö´úÂë¿â£¬ËüµÄÑÕÉ«£¬ÑùʽºÍ´óС¶¼ÓÉÉè¼ÆÊ¦ºÍ³§É̾ö¶¨£¬µ«ËüÂú×ãÁËÄãµÄÐèÇó¡£
È»¶ø£¬Èç¹ûµêÀïÃæÃ»ÓÐʲôÒ·þÊʺÏÄ㣬ÄÇÄã¾ÍÄÜ×Ô¼º´´½¨×Ô¼ºµÄ³ÄÉÀ£¨Éè¼ÆËüµÄÐÎ×´£¬Ñ¡Ôñ²¼ÁÏ£¬È»ºó²Ã·ìÔÚÒ»Æð£©¡£µ«ÊÇÈç¹ûÄã²»ÊÇÒ»¸ö²Ã·ì£¬Äã¿ÉÄܻᷢÏÖ×Ô ¼ººÜÈÝÒ×µÄÈ¥ÕÒÒ»¸öºÏÊʵÄģʽȻºó°´×ÅÕâ¸öģʽȥÉè¼Æ×Ô¼ºµÄ³ÄÉÀ¡£Ê¹ÓÃÒ»¸öÄ£ÐÍ£¬Äã¿ÉÒÔÔÚ¸üÉÙµÄʱ¼äÄڵõ½Ò»¸öÊìÁ·Éè¼ÆµÄ³ÄÉÀ¡£
»Øµ½ÌÖÂÛÈí¼þÉÏÀ´£¬Ò»¸öÊý¾ÝÌáÈ¡²ã»òÕßÒ»¸öCMS£¨content management system£©¾ÍÊÇÒ»¸ö¿â——ËüÊÇÏÈǰÉè¼ÆºÃ¶øÇÒÒѾ±àÂëºÃÁ˵ģ¬Èç¹ûËüÄÜ׼ȷµÄÂú×ãÄãµÄÐèÒªÄÇËü¾ÍÊÇÒ»¸öºÃµÄÑ¡Ôñ¡£µ«Èç¹ûÄãÕýÔÚ¶ÁÕâ±¾Ê飬¿ÉÄÜÄã»á·¢ÏÖ ¿â´æµÄ£¨ÔÓе쩽â¾ö·½°¸²¢²»ÊÇ×ÜÊǶÔÄãÓÐЧ¡£ÖÁ½ñÄãÖªµÀʲôÊÇÄãËùÒªµÄ£¬¶øÇÒÄãÄܹ»ÊµÏÖËü£¬Äã½ö½öÐèÒªÒ»¸öÄ£ÐÍÀ´Òýµ¼Äã¡£
×îºóÒ»¸öÏë·¨£º¾ÍÏóÒ»¸ö²Ã·ìÄ£ÐÍ£¬Ò»¸öÉè¼Æ±¾Éí¶øÑÔÊÇûÓÐʲôÓô¦µÄ¡£±Ï¾¹£¬Äã²»¿ÉÄÜ´©Ò»¸ö·þ×°Ä£ÐÍ——Ëü½ö½öÊÇÓɺܱ¡µÄֽƴ´ÕÆðÀ´µÄ¡£ÀàËÆµÄ£¬Ò»¸öÈí¼þÉè¼ÆÄ£ÐÍÒ²½ö½öÖ»ÊÇÒ»¸öÒýµ¼¡£Ëü±ØÐë¸ù¾Ý³ÌÐòÉè¼ÆÓïÑÔºÍÄãµÄÓ¦ÓóÌÐòµÄÌØµãºÍÒªÇó¶øÌرðµÄÉè¼Æ¡£
±¾ÊéµÄÄ¿±ê
±¾ÊéµÄÄ¿µÄ²»ÊÇΪÁËÈ«ÃæµÄ½éÉܸ÷ÖÖÀà±ðµÄÈí¼þÉè¼ÆÄ£Ê½£¬Ò²²»ÊÇΪÁË·¢Õ¹Ò»¸öеÄÉè¼ÆÄ£Ê½»òÕßÊõÓ¶øÊÇΪÁËÍ»³ö½éÉÜһЩÒÑÓеÄÖøÃûµÄÉè¼ÆÄ£Ê½¡£Õâ±¾ÊéµÄ ¶ÀÌØÖ®´¦ÔÚÓÚ½éÉÜÁËһЩÎÒÈÏΪ¶Ô¿ª·¢¶¯Ì¬WEBÓ¦ÓóÌÐòºÜÓаïÖúµÄÉè¼ÆÄ£Ê½£¬¶øÇÒÓÃPHPÓïÑÔÏÔʾÁËÈçºÎʵÏÖÕâЩÉè¼ÆÄ£Ê½¡£
Ãæ¶Ô¶ÔÏó±à³ÌOOP
Õâ±¾ÊéÒ»¸öÓŵã¾ÍÊÇËùÓеĹ۵㶼ÊÇ»ùÓÚOOPÕâÖÖºÜ×ÔÈ»µÄÉè¼ÆÄ£Ê½£¬²¢ÇÒÓÃOOPÀ´ÊµÏÖ¡£
Èç¹ûÄã²»ÊìϤOOP£¬ÓкܶàÏà¹ØµÄ×ÊÔ´£¨Êé¼®£¬ÍøÕ¾£¬ÔÓÖ¾£¬ÉϿεȵȣ©À´°ïÖúÄã¸üºÃµÄÁ˽âËü¡£´ó¶àÊýOOP×ÊÁ϶¼ÔÞÃÀËüµÄºÃ´¦——´úÂëÖØÓ㬴úÂ뽡׳£¬´ú Âë·â×°£¬¶à̬ºÍ¿ÉÀ©Õ¹ÐÔ£¬µ±È»ËùÓеÄÕâЩҲÊǷdz£ÖØÒªºÍÓÐÓõġ£È»¶ø£¬ÎÒÈÏΪOOP×îÖ÷ÒªµÄÓŵãÊÇËüÈçºÎ¼¤ÀøÄãÇ×ÊÖ½«ÎÊÌâ·Ö½â³ÉÒ×´¦ÀíµÄÄ£¿é¡£ÇåÎúµÄÉè¼Æ ºÍʵÏÖ£¬·Ö½â³ÉСµÄÄ£¿é£¬ÕâÑùÄãµÄ´úÂëÄܹ»µÃµ½¸ü¼Ó³¹µ×µÄ²âÊÔ¶øÇÒÒ²¸ü¼ÓÈÝÒ×Àí½âºÍά»¤¡£
¶ÁÕß¼¼ÄÜÒªÇó
Õâ±¾Êé¼Ù¶¨ÄãÒѾÄܹ»Á÷³©µÄʹÓÃPHPÁË¡£ÌØ±ðµØ£¬Õâ±¾Êé¼ÙÉèÄãÒѾÁ˽âÁËPHPºÍPHPÓï·¨µÄÔË×÷֪ʶ¶øÇÒ¶®µÃÓÃOOPÖ´ÐÐPHP´úÂëµÄ»ù±¾ÔÀí¡£Õâ±¾Êé²»ÊÇÒ»±¾PHP±à³ÌµÄ½éÉÜÊ飬Ҳ²»ÊÇΪÁ˽éÉÜPHPµÄOOP±à³ÌµÄ¡£
ÓÉÓÚ²»ÊÇËùÓеÄOOP¿ª·¢Õß¶¼Ê¹ÓÃÏàͬµÄÊõÓµ±ÓÐеÄÊõÓï±»ÒýÈëʱ£¬ÎÒ¶¼½«ÔÚÕýÎÄÖлòÕß¹¤¾ßÌõÖж¨Òå¡£
PHP4ºÍPHP5
µ±ÎÒдÕâ±¾ÊéµÄʱºò£¬PHP5ÒѾ·¢ÐÐÓÐÒ»¶Îʱ¼äÁË£¬µ«ÊÇ»¹Ã»Óб»¹«ÖÚÍÅÌå¹ã·ºµÄ²ÉÓá£ÔÚÎÒ×Ô¼ºµÄ¹¤×÷ÉÏ£¬ÎÒÒѾ¿ªÊ¼°ÑеÄÓ¦ÓóÌÐò¿ª·¢¹¤×÷Ç¨ÒÆµ½ PHP5.0.3µÄ»·¾³ÖУ¬¶øÇÒµ½Ä¿Ç°ÎªÖ¹ÎҺܸßÐ˵ķ¢ÏÖPHP5¶ÔPHP4µÄ´úÂë¾ßÓкܺõÄÏòºó¼æÈÝÐÔ£¬Í¬Ê±ËüµÄÃæ¶Ô¶ÔÏóÄ£ÐÍÊÇPHP5×îÓÐÒâÒåµÄÐÂÌØ Õ÷Ö®Ò»¡£
ÓкܶàºÜºÃµÄÎÄÕºÍÖ¸µ¼ÊÖ²áÀ´´¦Àí²»Í¬PHP°æ±¾Ö®¼äµÄ¶ÔÏóÄ£ÐÍÖ®¼äµÄϸ΢²î±ð¡£µ«¼òµ¥À´Ëµ£¬PHP5ÌṩÁË£º
- ¶ÔÏó±ú£¨½«ÔÚÏÂÃæ½âÊÍ£¬¸üÏêϸµÄÇë¼ûµÚ¶þÕ£º¶ÔÏóÄ£Ð͵ļÛÖµ£©?
- ¸üºÃµÄ¹¹ÔìÆ÷£¨Í³Ò»Ãû×Ö£¬²»ÔÊÐí¸Ä±ä£©?
- Îö¹¹Æ÷?
- ¿É¼û¶È£¨·½·¨ºÍÊôÐÔµÄpublic¹«¿ª,protectedÊܱ£»¤,private˽ÓУ©?
- Òì³£´¦Àí£¨¿ÉÒÔÑ¡ÔñеÄÓï·¨try{}catch{}À´´¥·¢´íÎó£©?
- ¾²Ì¬Àà?
- Ó³Ïñ£¨¶¯Ì¬¼ì²éÀ࣬·½·¨£¬ÊôÐÔ£©?
- ÀàÐÍÒþ²Ø?
PHP5Ò²ÌṩÁËһЩ¸ü¼ÓÄ£ºýµÄÌØÕ÷£º
еÄħÊõ·½·¨?
- __get()ºÍ__set()ÔÊÐíÄãÀ´¿ØÖƱäÁ¿´æÈ¡
- __call()ÈÃÄãÄܶ¯Ì¬µÄ½ØÈ¡±»call¶ÔÏóµÄËùÓÐÊôÐÔ¡£
- __sleep()ºÍ__wakeup()ÄÜÈÃÄãÖØÔØÐòÁл¯µÄ·½·¨
- __toString()ÈÃÄãÄÜ¿ØÖÆÈçºÎÓÃÒ»¸ö×Ö·û´®À´ÃèÊöÕâ¸ö¶ÔÏó×ÔÉí¡£
- ×Ô¶¯¼ÓÔØAutoloading£¨µ±ÀàµÚÒ»´Î±»¶ÔÏó»¯Ê±ºò£¬ÔÊÐíÓû§×Ô¶¯¼ÓÔØ¸ÃÀࣩ?
- Final£¨²»ÔÊÐí¸Ã·½·¨»òÕßÒ»¸öÀà±»Æä×ÓÀàÖØÔØ£©?
¶ÔÏó±ú
PHP5×îºÃµÄÌØÐÔ¾ÍÊDzÉÓþä±úÀ´¶¨ÒåÀ࣬ÀàËÆÓÚÒ»¸öÎļþ»òÕßÊý¾Ý¿â¾ä±ú¡£ÔÚPHPº¯ÊýÖÐʹÓöÔÏó²»ÔÙÊǺ¬ÐîµÄ¸´ÖÆÕâ¸ö¶ÔÏ󣬶øÊÇÌṩһ¸ö²Ù×÷¾ä±ú¡£
ΪÁ˸ü¼ÓÇå³þµÄ¿´³öÆä¼äµÄ²»Í¬£¬ÎÒÃÇ¿¼ÂÇÏÂÃæÁ½¸öÀý×Ó£º
// PHP4 class
class ExampleP1 {
var $foo;
function setFoo($foo) {
$this->foo=$foo`;
}
function getFoo() {
return $this->foo;
}
}
function changeExample($param) {
$param->setFoo(‘blah’);
return $param->getFoo();
}
$obj=new ExampleP1;
$obj->setFoo(‘bar’);
echo $obj->getFoo(); // bar
echo ChangeExample($obj); //blah
echo $obj->getFoo(); // bar
ÔÚPHP4ÖУ¬º¯ÊýchangeExample()ÖеıäÁ¿$paramÊÇ$objµÄÒ»¸ö¸´ÖÆ£¬ËùÒÔ£¬Õâ¸öº¯ÊýûÓиıäÔÀ´¶ÔÏóÖеÄ$fooµÄÖµ£¬ÕâÑù$obj->getFoo()×îÖÕÊä³öµÄÊÇ’bar’¡£
ÔÚPHP5ÖУ¬ÓÉÓÚ$objÔÚº¯ÊýÖÐÖ»ÊÇÒ»¸ö¶ÔÏó²Ù×÷±ú£¬Í¬ÑùµÄchangeExample()º¯ÊýȷȷʵʵµÄÓ°ÏìÁËÔÀ´µÄ¶ÔÏó¡£»»¾ä»°Ëµ£¬Ê¹ÓòÙ×÷±ú£¬¾Í²»ÔÙÐèҪȥ¸´ÖÆÁ˶ø$param¾ÍÊÇ$objʵÀý¡£
// PHP5 class
class ExampleP2 {
protected $foo;
function setFoo($foo) {
$this->foo=$foo;
}
function getFoo() {
return $this->foo;
}
}
$obj=new ExampleP2;
$obj->setFoo(‘bar’);
echo $obj->getFoo(); // bar
echo ChangeExample($obj); //blah
echo $obj->getFoo(); // IMPORTANT, produces blah
µ±ÄãÔÚÆäËûµÄ¶ÔÏó»òÕßÕâ¸ö¶ÔÏóÄÚÖõĹ¹Ô캯Êý£¨__construct£©ÀïÃæÊ¹ÓÃ$thisÕâ¸ö±äÁ¿Ê±£¬Õâ¸öÎÊÌâ»á±äµÄ¸ü¼ÓµÄ¸´ÔÓ¡£
½á¹ûÊÇÔÚPHP4ÖУ¬Ä㼸ºõ×ÜÐèÒª£º
- ´´½¨Ò»¸öÒýÓöÔÏ󣬾ÍÏóÕâÑù$obj=?& new class;
- ÔÚº¯ÊýÖе÷ÓÃÒýÓöÔÏ󣬱ÈÈçfunction func(?&$obj_param){}
- ͨ¹ýÒýÓú¯ÊýÀ´²¶×½¶ÔÏ󣬱ÈÈçfunction? &some_func(){} $return_obj=&some_funct()
ÊÂʵÉÏ£¬ÏÖÔÚÓÐЩÇé¿öÏÂÄãÒ²ÐèÒª¸´ÖÆÔʼ¶ÔÏó¡£ÔÚÎÒµÄPHP4´úÂëÀïÃæ£¬ÎÒ×ÜÊǰÑÈκÎÎÞÒýÓõĶÔÏóÈÎÎñ±ÈÈçΪһ¸öÃ÷ÏԵĶÔÏó¸´ÖÆ×¢Ê͵ĺÜÇå³þ¡£´Ó³¤ ÆÚÀ´Ëµ£¬ÕâÑùµÄÒ»¸ö¼ò¶ÌµÄ×¢ÊÍÄܹ»¼«´óµÄ¼õÇáÈκÎÒ»¸öά»¤Äã´úÂëµÄÈ˵ÄÍ·Í´£¨ÒëÕß×¢£ºÕâÑùµÄ´úÂë¿Éά»¤ÐÔºÜÇ¿£©¡£ÒýÓô«Öµ£¬¶ÔÏó±úºÍ¶ÔÏó¸´ÖƵÄÏà¹ØÖªÊ¶½« ÔÚµÚ¶þÕ“¶ÔÏóģʽµÄ¼ÛÖµ”ÀïÃæÏêϸ½²½â¡£
¾¡¹ÜÎÒ¸öÈËºÜÆ«ÏòÓÚʹÓÃPHP5¿ª·¢£¬µ«ÎҸоõµ½PHP4½«¼ÌÐø±»ÎÒÃÇʹÓÃÏ൱³¤µÄÒ»¶Îʱ¼ä£¬¶øÇÒÏÖÓеĹ«¿ª·¢²¼µÄÏîĿҲ½«¼ÌÐøÖ§³ÖPHP4¡£ËùÒÔ£¬±¾ Êé¶ÔÁ½ÖÖ°æ±¾µÄPHPÌṩÏàͬµÄÖ§³Ö¡£¾¡¿ÉÄܵÄÌṩÁËPHP4,PHP5Á½¸ö°æ±¾µÄʵÀý´úÂë¡£ÔÚÿһÕÂÀïÃæ£¬Ã¿Ò»¸ö´úÂë¿é£¨ÔÚ²»Í¬µÄPHP°æ±¾ÖÐÓÐËù¸Ä¶¯ µÄ£©Öж¼ÌṩÓÐÏàÓ¦µÄ×¢ÊÍÀ´°µÊ¾Æä¸Ä±ä£¬±ÈÈç//php4ºÍ//php5¡£
²Î¿¼ÊéÄ¿ºÍÆäËû×ÊÔ´
ÕâÀïÓкܶàÏà¹ØµÄ²Î¿¼ÊéÀ´°ïÖúÄã¸üºÃµÄѧϰÉè¼ÆÄ£Ê½¡£Éè¼ÆÄ£Ê½µÄ“Ê¥¾”£¨ÒëÕßÒ룺×îºÃµÄÊ飩ÊÇErich Gamma, Richard Helm, Ralph JohnsonºÍJohn Vlissides£¨ËûµÄ¿ª´´ÐÔ×÷Æ·¾³£±»ÌἰΪ“Gang of Four”¼òдΪ”GOF”£¬¾ÍÊÇ´ú±íËûÃÇËĸöÈË£©×«Ð´µÄ¡¶Éè¼ÆÄ£Ê½£º¿ÉÖØÓõÄÃæ¶Ô¶ÔÏóÈí¼þ¿ª·¢ÔÀí¡·¡£
¹ØÓÚ“Éè¼ÆÄ£Ê½”£¬ÏÂÒ»¸ö×îÓÐÓõĹØÓÚPHP WEBÓ¦ÓóÌÐòÉè¼ÆÄ£Ê½·½ÃæµÄÊé¾ÍÊÇMartin Fowler³ö°æµÄPatterns of Enterprise Application Architecture £¨ÒëÕßÒ룺ÆóÒµÓ¦ÓóÌÐòÌåϵ½á¹¹Ä£ÐÍ£©¡£ÓëGOFµÄÊé°üº¬ÁËËùÓÐÒ»°ãµÄÉè¼ÆÄ£Ê½Ïà±È£¬FowlerµÄÕâ±¾ÊéÏêϸµÄ½éÉÜÁËÐí¶àרÃÅÓÃÓÚ¿ª·¢webÓ¦ÓóÌÐòµÄ Éè¼ÆÄ£Ê½¡£
ÁíÍâÔںܶàÍøÕ¾ÉÏÒ²ÌṩÁËÓйØÉè¼ÆÄ£Ê½·½ÃæµÄ·á¸»×ÊÔ´£¬Ò»¸öÌØ±ðµäÐ͵ÄÍøÕ¾¾ÍÊDz¨ÌØÀ¼Ä£ÐͿ⣨http://cz.com/por/£©¡£
ÁíÍâÒ»¸ö¹ØÓÚPHPÉè¼ÆÄ£Ê½µÄÕ¾µãÊÇphpPatterns£¬ÔÚÏßµØÖ·ÊÇhttp://www.phppatterns.com¡£
¸Ðл
ÎҺܸÐлÎÒµÃÀϰ壬ÔÚËûÄÇÀÎÒµÄÈÎÎñºÍÔðÈÎÔÊÐíÎÒÔÚÕâ¸öÎÒ¸ÐÐËȤµÄÁìÓò»¨·ÑÒ»²¿·Öʱ¼ä£¬Ò²¸ÐлËû¸øÎÒÌṩ֪ʶºÍ¾ÑéÈÃÎÒÓÐÐÅÐÄдÍêÕâ±¾Êé¡£
ÎÒµÄÁé¸Ð£¬Ïë·¨ºÍ¾ÑéµÄÁíÍâÒ»¸öÀ´Ô´ÊÇSitePointÕâ¸öÕ¾µã£¨http://www.sitepoint.com£©µÄÂÛ̳¡£ÌرðÖµµÃÒ»ÌáµÄ£¬ÄÇЩ¾ ³£ÉÏ”Advanced PHP Forum”£¨ÒëÕßÒ룺PHP¸ß¼¶ÂÛ̳£©µÄͶ¸åÈ˶¼ÓÐ×ŷḻµÄ֪ʶÓë¾Ñ飬ËûÃÇÊÇÎÒÔÚÍøÉÏ·¢ÏÖµÄ×î¿¶¿®´ó·½µÄ¹²Ïí×Ô¼ºÏë·¨µÄÍÅÌå¡£ÎÒÒ²ÕýÊÇͨ¹ýÕâЩ×ÊÔ´ £¨ÒëÕß×¢£ºSitePointÕ¾µã£©µÇ½ÁËSimpleTest(http://simpletest.sf.net)£¬WACT(http: //wact.sf.net)ºÍÆäËûÐí¶àÎÒÈÏΪÎÞ¼ÛµÄPHP¹¤³ÌÏîÄ¿¡£ÔÚ½ÓÏÂÀ´µÄËêÔÂÀÎÒÏ£ÍûSitePointÄܹ»¼ÌÐø³ÉΪPHP¿ª·¢Õߵķḻ×ÊÔ´ µã¡£
ûÓÐPHP¿ª·¢ÍŶӵűÏ׺ÍÖØÒªµÄŬÁ¦£¬Õâ±¾ÊéÏÔÈ»ÊDz»¿ÉÄÜ´æÔڵġ£ÒòΪÕýÊÇËûÃÇ¿ª·¢³öÈç´ËºÃÓá¢Ò×ѧ¡¢Í¨ÓöøÇҷdz£ÊʺϿª·¢WEBÓ¦ÓóÌÐòµÄÓïÑÔ¡£
×îºó£¬ÎÒ»¹Òª¸ÐлMarco Tabini ºÍphp|architectµÄÈ«Ìå³ÉÔ±¡£Õâ±¾ÔÓÖ¾£¨ÒëÕß×¢£ºphp|architect£©ÒѾ³ÉΪÐí¶à²»Í¬PHPÖ÷ÌâµÄÀ´Ô´£¬¶øÇÒÕâЩÖ÷Ìâ¶¼ÊÇרҵµÄ¿ª·¢ÈËÔ±·¢²¼µÄ¡£ÓÉMacroºÍ¹«Ë¾Ö÷°ìµÄ»áÒéÒ²ÊÇÏ൱ºÃµÄ¡£
ÒÔÉÏËù·ÖÏíµÄÊǹØÓÚ¡¶PHPÉè¼ÆÄ£Ê½½éÉÜ¡·µ¼ÑÔ£¬ÏÂÃæÊDZà¼ÎªÄãÍÆ¼öµÄÓмÛÖµµÄÓû§»¥¶¯£º
¡¡¡¡Ïà¹ØÎÊÌ⣺GOF¡¶Éè¼ÆÄ£Ê½¡··ÖΪÄÄÈýÀà
¡¡¡¡´ð£º´´½¨ÐÍ ÐÐΪÐÍ ½á¹¹ÐÍ >>Ïêϸ
¡¡¡¡Ïà¹ØÎÊÌ⣺PHPÓÐÄļ¸ÖÖÉè¼ÆÄ£Ê½£¿
¡¡¡¡´ð£ºPHP Ò»°ãÓÐÎåÖÖ³£¼ûµÄÉè¼ÆÄ£Ê½ ¹¤³§Ä£Ê½ ¹¤³§Ä£Ê½ ÊÇÒ»ÖÖÀ࣬Ëü¾ßÓÐΪÄú´´½¨¶ÔÏóµÄijЩ·½·¨¡£Äú¿ÉÒÔʹÓù¤³§Àà´´½¨¶ÔÏ󣬶ø²»Ö±½ÓʹÓà new¡£ÕâÑù£¬Èç¹ûÄúÏëÒª¸ü¸ÄËù´´½¨µÄ¶ÔÏóÀàÐÍ£¬Ö»Ðè¸ü¸Ä¸Ã¹¤³§¼´¿É¡£Ê¹Óøù¤³§µÄËùÓдúÂë»á×Ô¶¯¸ü¸Ä¡£ ÀýÈç... >>Ïêϸ
¡¡¡¡Ïà¹ØÎÊÌ⣺ÓÐËÖªµÀ¡¶ Éè¼ÆÄ£Ê½ ¡·Õâ±¾Êé ×÷Õß½ÐãÆºêµÄ£¿
¡¡¡¡´ð£º¡¶JavaÓëģʽ¡· ¡¾×÷Õß¡¿ÑÖºê ¡¾´Ô Êé Ãû¡¿ Èí¼þ¹¤³ÌÑо¿Ôº ¡¾³ö °æ Éç¡¿ µç×Ó¹¤Òµ³ö°æÉç ¡¾Êé ºÅ¡¿ 7505380001 ¡¾ÉϼÜʱ¼ä¡¿ 2002-11-23 ¡¾³ö°æÈÕÆÚ¡¿ 2002 Äê10Ô ¡¾¿ª ±¾¡¿ 16¿ª ¡¾Ò³ Âë¡¿ 1024 ¡¾°æ ´Î¡¿1-1 Êг¡¼Û £º£¤88.00 ºÜ²»´íµÄÒ»±¾... >>Ïêϸ
- ÆÀÂÛÁÐ±í£¨ÍøÓÑÆÀÂÛ½ö¹©ÍøÓѱí´ï¸öÈË¿´·¨£¬²¢²»±íÃ÷±¾Õ¾Í¬ÒâÆä¹Ûµã»ò֤ʵÆäÃèÊö£©
-
