PHPÖÐÉè¼ÆÄ£Ê½µÄѧϰ±Ê¼Ç
PHPÖÐÉè¼ÆÄ£Ê½µÄѧϰ±Ê¼Ç
Éè¼ÆÄ£Ê½(Design Pattern)ÊÇÃæÏò¶ÔÏóÉè¼ÆÖз´¸´³öÏÖµÄÎÊÌâµÄ½â¾ö·½°¸£¬Éè¼ÆÄ£Ê½ÊÇÒ»ÖÖ±ÈÒ»°ãÀàµÄÉè¼Æ¸ü¼Ó³éÏóµÄÒ»ÖÖ˼Ï룬
ËüÍùÍùÉæ¼°µ½¶à¸öÀàµÄ¶¨ÒåºÍʹÓá£
ÔÚPHPµÄ¿ª·¢¹ý³ÌÖУ¬¾³£Ê¹Óõ½µÃÉè¼ÆÄ£Ê½°üÀ¨£º¼òµ¥¹¤³§Ä£Ê½¡¢µ¥ÔªËØÄ£Ê½¡¢¹Û²ìÕßģʽ¡¢ÃüÁîģʽ¡¢²ßÂÔģʽÒÔ¼°MVCģʽµÈ¡£
/**
* ¼òµ¥¹¤³§Ä£Ê½(Simple Factory Pattern),¾ßÌåÖ¸´´½¨Ò»¸öÀàËÆÓÚ¹¤³§µÄÀ࣬ͨ¹ý¶ÔÀàÖгÉÔ±·½·¨µÄµ÷Ó÷µ»Ø²»Í¬µÄ¶ÔÏó
* ¸ÃģʽµÄºËÐÄÊǹ¤³§À࣬¸ÃÀàÖк¬ÓбØÒªµÄÅжÏÂß¼£¬¿ÉÒÔ¾ö¶¨ÔÚʲôʱºò´´½¨²¢·µ»ØÄĸö²úÆ·µÄʵÀý»¯¶ÔÏó
*/
//¶¨Òå³éÏóÀàProduct
abstract class Product
{
abstract function getName();
}
//¶¨Òå¾ßÌå²úÆ·ÀàA
class ProductA extends Product
{
public function getName()
{
echo "I am product A";
}
}
//¶¨Òå¾ßÌå²úÆ·ÀàB
class ProductB extends Product
{
public function getName()
{
echo "I am product B";
}
}
//¶¨Ò幤³§Àà
class ProductFactory
{
static function create($name)
{
switch($name)
{
case "A":
return new ProductA();
case "B":
return new ProductB();
}
}
}
$product=ProductFactory::create("A");
$product->getName();
echo "<br/>";
$product=ProductFactory::create("B");
$product->getName();
/**
* µ¥ÔªËØÄ£Ê½(Singleton Pattern)ÊÇÖ¸¶ÔÖ¸¶¨µÄÀàÖ»ÄÜʵÀý»¯Ò»´Î¡£
* ¸Ãģʽͨ³£°üº¬Ò»¸ö˽Óй¹Ôì·½·¨£¬ÓÃÀ´È·±£ÎÞ·¨Í¨¹ý´´½¨¶ÔÏó»òÕ߿ˡµÄ·½Ê½¶ÔÆä½øÐÐʵÀý»¯
* ¸Ãģʽ»¹°üº¬ÓÐÒ»¸ö˽Óо²Ì¬ÊôÐԺ͹«Óо²Ì¬·½·¨¡£
* ¹«Óо²Ì¬·½·¨¸ºÔð¶ÔÆä±¾Éí½øÐÐʵÀý»¯£¬¶øË½Óо²Ì¬ÊôÐÔ¸ºÔð´æ´¢ÊµÀý»¯µÄ¶ÔÏó¡£
*/
class Singleton
{
private static $ins
Ïà¹ØÎĵµ£º
1¡¢ÉçÍżò½é£º
LAMPÐÖµÜÁ¬ÉçÍÅ£¨¼ò³ÆÐÖµÜÁ¬£©ÊÇÒ×µÚÓŽÌÓýѧԺÁ쵼ϵÄÉçÍÅ×éÖ¯£¬ÊÇѧԺÁªÏµ¹ã´óLAMP°®ºÃÕßµÄÇÅÁººÍŦ´ø£¬ÊÇѧԺÉçÍŹÜÀíе÷µÄ»ú¹¹¡£
2¡¢ÉçÍÅÐÔÖÊ£º
ÓÉLAMPÐÖµÜÁ¬·¢Æð£¨www.lampbrother.net£©µÄÈ«¹úרҵÐÔ¡¢¹«ÒæÐÔÉç»áɳÁú×éÖ¯¡£
3¡¢ÉçÍÅÄ¿µÄ£º
a¡¢Îª°®ºÃLAMPµÄÅóÓÑÃǴһ¸öѧϰ½»Á÷µÄƽ̨
b¡¢Îª ......
˵µ½¼Æ»®ÈÎÎñ´ó¼Ò¿ÉÄܶ¼Ïëµ½ÓÃcrontabÀ´ÊµÏÖ¡£¿ÉÊDz¢²»ÊÇËùÓÐÈ˶¼ÊÇʹÓÃlinuxϵͳ£¬Ò²²»ÊÇËùÓÐÈ˶¼ÓжÀÁ¢·þÎñÆ÷¡£ÕâʱºòÈçºÎÓÃphpÀ´
ʵÏּƻ®ÈÎÎñÄØ¡£
º¯Êý- ignore_user_abort()
£¬
Õâ¸öº¯Êý¿ÉÒÔ°ïÖúÎÒÃÇʵÏÖÏñlinuxÖеÄcronÒ»ÑùʵÏּƻ®ÈÎÎñ£¬ÏÂÃæÒ»ÆðÀ´¿´Ï¸ÃÈçºÎÀ´ÊµÏÖ¡£
¸Ãº¯Êý°´ÕÕ×ÖÃæÒâ˼¾ÍÊÇ“ºöÂÔÓû§Ö ......
0¡¢Óõ¥ÒýºÅ´úÌæË«ÒýºÅÀ´°üº¬×Ö·û´®£¬ÕâÑù×ö»á¸ü¿ìһЩ¡£ÒòΪPHP»áÔÚË«ÒýºÅ°üΧµÄ×Ö·û´®ÖÐËÑѰ±äÁ¿£¬µ¥ÒýºÅÔò²»»á£¬×¢Ò⣺ֻÓÐechoÄÜÕâô
×ö£¬ËüÊÇÒ»ÖÖ¿ÉÒ԰Ѷà¸ö×Ö·û´®µ±×÷²ÎÊýµÄ“º¯Êý”(Òë×¢£ºPHPÊÖ²áÖÐ˵echoÊÇÓïÑԽṹ£¬²»ÊÇÕæÕýµÄº¯Êý£¬¹Ê°Ñº¯Êý¼ÓÉÏÁËË«ÒýºÅ)¡£
¡¡¡¡1¡¢Èç¹ûÄܽ«ÀàµÄ·½·¨¶¨Òå³Éstatic£¬¾Í ......
Ò» Éè¼Æ¹¤¾ß
UML ºÍÏà¹ØÉè¼Æ¹¤¾ß
- Argo UML
UML»æÍ¼¹¤¾ß£¬Ö§³ÖPHP stubÉú³É¡£ (commercial spin off is Posideon) –Java±àд¡£
- Umbrello UML
UML»æÍ¼¹¤¾ß£¬Ö§³ÖPHP stubÉú³É¡£ ÐèÒªUnix / KDE¡£
- Dia
Ö§³ÖUML µÄ»æÍ¼¹¤¾ß -ʹÓÃAutoDia Éú³ÉPHP¡£
- XMI 2 PHP
´ÓXMIÎĵµÉú³ÉPHP´úÂ룬ÓÃXMLÃèÊöU ......
40ÌõÓÅ»¯php´úÂëµÄСʵÀý
1.Èç¹ûÒ»¸ö·½·¨Äܱ»¾²Ì¬£¬ÄǾÍÉùÃ÷ËûΪ¾²Ì¬µÄ£¬ËÙ¶È¿ÉÌá¸ß1/4;
2.echoµÄЧÂʸßÓÚprint,ÒòΪechoûÓзµ»ØÖµ£¬print·µ»ØÒ»¸öÕûÐÍ;
3.ÔÚÑ»·Ö®Ç°ÉèÖÃÑ»·µÄ×î´ó´ÎÊý£¬¶ø·ÇÔÚÔÚÑ»·ÖÐ;
4.Ïú»Ù±äÁ¿È¥ÊÍ·ÅÄÚ´æ£¬ÌØ±ðÊÇ´óµÄÊý×é;
5.±ÜÃâʹÓÃÏñ__get, __set, __autoloadµÈħÊõ·½·¨;
6.requiere_once( ......