ÉÏһƪ£ºÃæÏò¹ý³ÌÓëÃæÏò¶ÔÏóµÄ¼òµ¥±È½Ï£¨¸öÈËÐĵã©£¡   ÏÂһƪ£ºPHP¼¸µã¾«»ª£¬µ±È»²»Ö»ÕâЩӴ

Êý¾ÝÍÚ¾òÂÛ̳£º ÕʺŠÃÜÂë

ÎÒ²»ÖªµÀÓÐûÓÐÈË·¢×ªÌù¹ýPHP±àÂë¹æ·¶£¬µ«ÎªÁË´ó¼ÒÒÔºóµÄ½»Á÷£¬Í

·¢²¼Ê±¼ä£º2006-03-06  ÆÀÂÛ£º 0 Ìõ  µã»÷£º ´Î

PHP±àÂë¹æ·¶
1. ½éÉÜ
1.1. ±ê×¼»¯µÄÖØÒª**
±ê×¼»¯ÎÊÌâÔÚijЩ·½ÃæÉÏÈÃÿ¸öÈËÍ·Í´£¬ÈÃÈËÈ˶¼¾õµÃ´ó¼Ò´¦ÓÚͬÑùµÄ¾³µØ¡£ÕâÓÐÖúÓÚÈÃÕâЩ½¨ÒéÔÚÐí¶àµÄÏîÄ¿Öв»¶ÏÑݽø£¬Ðí¶à¹«Ë¾»¨·ÑÁËÐí¶àÐÇÆÚÖð×Ó×ÖÖð¾äµÄ½øÐÐÕùÂÛ¡£±ê×¼»¯²»ÊÇÌØÊâµÄ¸öÈË·ç¸ñ£¬Ëü¶Ô±¾µØ¸ÄÁ¼ÊÇÍêÈ«¿ª·ÅµÄ¡£
1.2. Óŵã
µ±Ò»¸öÏîÄ¿³¢ÊÔ×Å×ñÊØ¹«Óõıê׼ʱ£¬»áÓÐÒÔϺô¦£º
¡¤ ³ÌÐòÔ±¿ÉÒÔÁ˽âÈκδúÂ룬ŪÇå³ÌÐòµÄ×´¿ö
¡¤ ÐÂÈË¿ÉÒԺܿìµÄÊÊÓ¦»·¾³
¡¤ ·ÀֹнӴ¥phpµÄÈ˳öÓÚ½Úʡʱ¼äµÄÐèÒª£¬×Ô´´Ò»Ì×·ç¸ñ²¢Ñø³ÉÖÕÉúµÄϰ¹ß
¡¤ ·ÀֹнӴ¥phpµÄÈËÒ»´Î´ÎµÄ·¸Í¬ÑùµÄ´íÎó
¡¤ ÔÚÒ»ÖµĻ·¾³Ï£¬ÈËÃÇ¿ÉÒÔ¼õÉÙ·¸´íµÄ»ú»á
¡¤ ³ÌÐòÔ±ÃÇÓÐÁËÒ»ÖµĵÐÈË
1.3. ȱµã
¡¤ ÒòΪ±ê×¼ÓÉһЩ²»¶®µÃphpµÄÈËËùÖÆ¶¨£¬ËùÒÔ±ê׼ͨ³£¿´ÉÏÈ¥ºÜɵ
¡¤ ÒòΪ±ê×¼¸úÎÒ×öµÄ²»Ò»Ñù£¬ËùÒÔ±ê׼ͨ³£¿´ÉÏÈ¥ºÜɵ
¡¤ ±ê×¼½µµÍÁË´´ÔìÁ¦
¡¤ ±ê×¼ÔÚ³¤ÆÚ»¥ÏàºÏ×÷µÄÈËȺÖÐÊÇûÓбØÒªµÄ
¡¤ ±ê׼ǿÆÈÌ«¶àµÄ¸ñʽ
1.4. ÌÖÂÛ
Ðí¶àÏîÄ¿µÄ¾­ÑéÄܵóöÕâÑùµÄ½áÂÛ£º²ÉÓñà³Ì±ê×¼¿ÉÒÔʹÏîÄ¿¸ü¼Ó˳ÀûµØÍê³É¡£±ê×¼Êdzɹ¦µÄ¹Ø¼üô£¿µ±È»²»¡£µ«ËüÃÇ¿ÉÒÔ°ïÖúÎÒÃÇ£¬¶øÇÒÎÒÃÇÐèÒªÎÒÃÇÄܵõ½µÄËùÓеİïÖú£¡ÀÏʵ˵£¬¶ÔÒ»¸öϸ½Ú±ê×¼µÄ´ó²¿·ÖÕùÂÛÖ÷ÒªÊÇÔ´×Ô×Ô¸ºË¼Ïë¡£¶ÔÒ»¸öºÏÀíµÄ±ê×¼µÄºÜÉÙ¾ö¶¨Äܱ»ËµÎªÊÇȱ·¦¼¼Êõ**µÄ»°£¬ÄÇÖ»ÊÇ¿ÚζµÄÔ­Òò°ÕÁË¡£ËùÒÔ£¬ÒªÁé»îµÄ¿ØÖÆ×Ô¸ºË¼Ï룬¼Çס£¬ÈκÎÏîÄ¿¶¼È¡¾öÓÚÍŶӺÏ×÷µÄŬÁ¦¡£
1.5. ½âÊÍ
1.5.1. ±ê׼ʵʩ
Ê×ÏÈÓ¦¸ÃÔÚ¿ª·¢Ð¡×éµÄÄÚ²¿ÕÒ³öËùÓеÄ×îÖØÒªµÄÔªËØ£¬Ò²Ðí±ê×¼¶ÔÄãµÄ×´¿ö»¹²»¹»Ç¡µ±¡£Ëü¿ÉÄÜÒѾ­¸ÅÀ¨ÁË ÖØÒªµÄÎÊÌ⣬Ҳ¿ÉÄÜ»¹ÓÐÈË¶ÔÆäÖеÄijЩÎÊÌâ±íʾǿÁҵķ´¶Ô¡£ÎÞÂÛÔÚʲôÇé¿öÏ£¬Ö»Òª×îºó˳ÀûµÄ»°£¬ÈËÃǽ«³ÉÊìµÄÃ÷°×µ½Õâ¸ö±ê×¼ÊǺÏÀíµÄ£¬È»ºóÆäËûµÄ³ÌÐòÔ±ÃÇÒ²»á·¢ÏÖËüµÄºÏÀí**£¬²¢¾õµÃ´ø×ÅһЩ±£ÁôÈ¥×ñÑ­ÕâÒ»±ê×¼ÊÇÖµµÃµÄ¡£Èç¹ûûÓÐ×ÔÔ¸µÄºÏ×÷£¬¿ÉÒÔÖÆ¶¨ÐèÇ󣺱ê×¼Ò»¶¨Òª¾­¹ý´úÂëµÄ¼ìÑé¡£Èç¹ûûÓмìÑéµÄ»°£¬Õâ¸ö½â¾ö·½°¸½ö½öÊÇÒ»¸ö½¨Á¢ÔÚ²»¾«È·µÄ»ù´¡ÉϵÄÒ»´óȺ¿ÉЦµÄÈË¡£
1.5.2. ÈÏͬ¹Ûµã
1. ÕâÐв»Í¨£»
2. Ò²Ðí¿ÉÐаɣ¬µ«ÊÇËü¼È²»ÊµÓÃÓÖÎÞÁÄ£»
3. ÕâÊÇÕæµÄ£¬¶øÇÒÎÒÒ²¸æËß¹ýÄã°¡£»
4. Õâ¸öÊÇÎÒÏÈÏëµ½µÄ£»
5. ±¾À´¾ÍÓ¦¸ÃÕâÑù¡£
Èç¹ûÄú´ø×Å·ñ¶¨µÄ³É¼û¶øÀ´¿´´ýÊÂÎïµÄ»°£¬ÇëÄú±£³Ö¿ª·ÅµÄ˼Ïë¡£ÄãÈÔ¿ÉÒÔ×ö³öËüÊÇ·Ï»°µÄ½áÂÛ£¬µ«ÊÇ×ö³ö½áÂ۵ķ½·¨¾ÍÊÇÄã±ØÐëÒªÄܹ»½ÓÊܲ»Í¬µÄ˼Ïë¡£ÇëÄú¸ø×Ô¼ºÒ»µãʱ¼äÈ¥×öµ½Ëü¡£
1.5.3. ÏîÄ¿µÄËĸö½×¶Î
1. Êý¾Ý¿â½á¹¹
2. Éè¼Æ
3. Êý¾Ý²ã
4. HTML²ã

2. ÃüÃû¹æÔò

2.1. ºÏÊʵÄÃüÃû

ÃüÃûÊdzÌÐò¹æ»®µÄºËÐÄ¡£¹ÅÈËÏàÐÅÖ»ÒªÖªµÀÒ»¸öÈËÕæÕýµÄÃû×־ͻá»ñµÃÁè¼ÝÓÚÄǸöÈËÖ®ÉϵIJ»¿É˼ÒéµÄÁ¦Á¿¡£Ö»ÒªÄã¸øÊÂÎïÏëµ½ÕýÈ·µÄÃû×Ö£¬¾Í»á¸øÄãÒÔ¼°ºóÀ´µÄÈË´øÀ´±È´úÂë¸üÇ¿µÄÁ¦Á¿¡£±ðЦ£¡
Ãû×Ö¾ÍÊÇÊÂÎïÔÚËüËù´¦µÄÉú̬»·¾³ÖÐÒ»¸ö³¤¾Ã¶øÉîÔ¶µÄ½á¹û¡£×ܵÄÀ´Ëµ£¬Ö»ÓÐÁ˽âϵͳµÄ³ÌÐòÔ±²ÅÄÜΪϵͳȡ³ö×îºÏÊʵÄÃû×Ö¡£Èç¹ûËùÓеÄÃüÃû¶¼ÓëÆä×ÔÈ»ÏàÊʺϣ¬Ôò¹ØÏµÇåÎú£¬º¬Òå¿ÉÒÔÍÆµ¼µÃ³ö£¬Ò»°ãÈ˵ÄÍÆÏëÒ²ÄÜÔÚÒâÁÏÖ®ÖС£
Èç¹ûÄã·¢¾õÄãµÄÃüÃûÖ»ÓÐÉÙÁ¿ÄÜºÍÆä¶ÔÓ¦ÊÂÎïÏàÆ¥ÅäµÄ»°£¬ ×îºÃ»¹ÊÇÖØÐºúÃÔÙ¿´¿´ÄãµÄÉè¼Æ°É¡£

2.2. ˈ̟̞

¡¤ ÔÚΪÀࣨclass £©ÃüÃûǰÊ×ÏÈÒªÖªµÀËüÊÇʲô¡£Èç¹ûͨ¹ýÀàÃûµÄÌṩµÄÏßË÷£¬Ä㻹ÊÇÏë²»ÆðÕâ¸öÀàÊÇʲôµÄ»°£¬ÄÇôÄãµÄÉè¼Æ¾Í»¹×öµÄ²»¹»ºÃ¡£
¡¤ ³¬¹ýÈý¸ö´Ê×é³ÉµÄ»ìºÏÃûÊÇÈÝÒ×Ôì³Éϵͳ¸÷¸öʵÌå¼äµÄ»ìÏý£¬ÔÙ¿´¿´ÄãµÄÉè¼Æ£¬³¢ÊÔʹÓã¨CRC Session card)¿´¿´¸ÃÃüÃûËù¶ÔÓ¦µÄʵÌåÊÇ·ñÓÐ×ÅÄÇô¶àµÄ¹¦Óá£
¡¤ ¶ÔÓÚÅÉÉúÀàµÄÃüÃûÓ¦¸Ã±ÜÃâ´øÆä¸¸ÀàÃûµÄÓÕ»ó£¬Ò»¸öÀàµÄÃû×ÖÖ»ÓëËü×ÔÉíÓйأ¬ºÍËüµÄ¸¸Àà½ÐʲôÎ޹ء£
¡¤ ÓÐʱºó׺ÃûÊÇÓÐÓõģ¬ÀýÈ磺Èç¹ûÄãµÄϵͳʹÓÃÁË´úÀí£¨agent £©£¬ÄÇô¾Í°Ñij¸ö²¿¼þÃüÃûΪ¡°ÏÂÔØ´úÀí¡±£¨DownloadAgent£©ÓÃÒÔÕæÕýµÄ´«ËÍÐÅÏ¢¡£

2.3. ·½·¨ºÍº¯ÊýÃüÃû

¡¤ ͨ³£Ã¿¸ö·½·¨ºÍº¯Êý¶¼ÊÇÖ´ÐÐÒ»¸ö¶¯×÷µÄ£¬ËùÒÔ¶ÔËüÃǵÄÃüÃûÓ¦¸ÃÇå³þµÄ˵Ã÷ËüÃÇÊÇ×öʲôµÄ£ºÓÃCheckForErrors()´úÌæErrorCheck()£¬ÓÃDumpDataToFile()´úÌæDataFile()¡£Õâô×öÒ²¿ÉÒÔʹ¹¦ÄܺÍÊý¾Ý³ÉΪ¸ü¿ÉÇø·ÖµÄÎïÌå¡£
¡¤ ÓÐʱºó׺ÃûÊÇÓÐÓõÄ:
o Max - º¬ÒåΪijʵÌåËùÄܸ³ÓèµÄ×î´óÖµ¡£
o Cnt - Ò»¸öÔËÐÐÖеļÆÊý±äÁ¿µÄµ±Ç°Öµ¡£
o Key - ¼üÖµ¡£
ÀýÈ磺RetryMax ±íʾ×î¶àÖØÊÔ´ÎÊý£¬RetryCnt ±íʾµ±Ç°ÖØÊÔ´ÎÊý¡£
¡¤ ÓÐʱǰ׺ÃûÊÇÓÐÓõģº
o Is - º¬ÒåΪÎÊÒ»¸ö¹ØÓÚijÑùÊÂÎïµÄÎÊÌâ¡£ÎÞÂÛºÎʱ£¬µ±ÈËÃÇ¿´µ½Is¾Í»áÖªµÀÕâÊÇÒ»¸öÎÊÌâ¡£
o Get - º¬ÒåΪȡµÃÒ»¸öÊýÖµ¡£
o Set - º¬ÒåΪÉ趨һ¸öÊýÖµ
ÀýÈ磺IsHitRetryLimit¡£

2.4. Ëõд´Ê²»ÒªÈ«²¿Ê¹Óôóд×Öĸ

¡¤ ÎÞÂÛÈçºÎ£¬µ±Óöµ½ÒÔÏÂÇé¿ö£¬Äã¿ÉÒÔÓÃÊ××Öĸ´óдÆäÓà×ÖĸСдÀ´´úÌæÈ«²¿Ê¹Óôóд×ÖĸµÄ·½·¨À´±íʾËõд´Ê¡£
ʹÓÃ: GetHtmlStatistic.
²»Ê¹ÓÃ: GetHTMLStatistic.
ÀíÓÉ
¡¤ µ±ÃüÃûº¬ÓÐËõÂÔ´Êʱ£¬ÈËÃÇËÆºõÓÐ×ŷdz£²»Í¬µÄÖ±¾õ¡£Í³Ò»¹æ¶¨ÊÇ×îºÃ£¬ÕâÑùÒ»À´£¬ÃüÃûµÄº¬Òå¾ÍÍêÈ«¿ÉÒÔÔ¤ÖªÁË¡£
¾Ù¸öNetworkABCKeyµÄÀý×Ó£¬×¢ÒâCÊÇÓ¦¸ÃÊÇABCÀïÃæµÄC»¹ÊÇkeyÀïÃæµÄC£¬Õâ¸öÊǺÜÁîÈ˷ѽâµÄ¡£ÓÐЩÈ˲»ÔÚÒâÕâЩ£¬ÆäËûÈËÈ´ºÜÌÖÑáÕâÑù¡£ËùÒÔÄã»áÔÚ²»Í¬µÄ´úÂëÀï¿´µ½²»Í¬µÄ¹æÔò£¬Ê¹µÃÄã²»ÖªµÀÔõôȥ½ÐËü¡£
ÀýÈç
class FluidOz // ²»ÒªÐ´³É FluidOZ
class GetHtmlStatistic // ²»ÒªÐ´³É GetHTMLStatistic

2.5. ˈ̟̞

¡¤ ʹÓôóд×Öĸ×÷Ϊ´ÊµÄ·Ö¸ô£¬ÆäËûµÄ×Öĸ¾ùʹÓÃСд
¡¤ Ãû×ÖµÄÊ××ÖĸʹÓôóд
¡¤ ²»ÒªÊ¹ÓÃÏ»®Ïß("_")
ÀíÓÉ
¡¤ ¸ù¾ÝºÜ¶àµÄÃüÃû·½Ê½£¬´ó²¿·ÖÈËÈÏΪÕâÑùÊÇ×îºÃµÄ·½Ê½¡£
ÀýÈç
class NameOneTwo
class Name

2.6. Àà¿âÃüÃû

¡¤ ĿǰÃüÃû¿Õ¼äÕýÔÚÔ½À´Ô½¹ã·ºµÄ±»²ÉÓã¬ÒÔ±ÜÃⲻͬ³§É̺ÍÍÅÌåÀà¿â¼äµÄÀàÃû³åÍ»¡£
¡¤ µ±ÉÐδ²ÉÓÃÃüÃû¿Õ¼äµÄʱºò£¬ÎªÁ˱ÜÃâÀàÃû³åÍ»£¬Ò»°ãµÄ×ö·¨ÊÇÔÚÀàÃûǰ¼ÓÉ϶ÀÌØµÄǰ׺£¬Á½¸ö×Ö·û¾Í¿ÉÒÔÁË£¬µ±È»¶àÓÃһЩ»á¸üºÃ¡£
ÀýÈç
John JohnsonµÄÊý¾Ý½á¹¹Àà¿â¿ÉÒÔÓÃJj×öΪǰ׺£¬ÈçÏ£º
class JjLinkList
{
}
ÁíÒ»ÖÖÕÛÖз½Ê½Êǽ¨Á¢°üº¬Àà¿âĿ¼£¨ÊÂʵÉÏJavaÒ²ÊÇÕâô×öµÄ£©£¬ÒÔ²»Í¨µÄĿ¼´ú±í²»Í¬µÄÃüÃû¿Õ¼ä¡£
ÀýÈç
MicrosoftµÄÊý¾Ý¿âÏà¹ØÀà¿â¿ÉÒÔÔÚ£º
/classes/com/Microsoft/ Database/DbConn.php
ApacheµÄÊý¾Ý¿âÏà¹ØÀà¿â¿ÉÔÚ£º
/classes/org/apache/Database/DbConn.php

2.7. ·½·¨ÃüÃû

¡¤ ²ÉÓÃÓëÀàÃüÃûÒ»ÖµĹæÔò
ÀíÓÉ
¡¤ ʹÓÃËùÓв»Í¬¹æÔòµÄ´ó²¿·ÖÈË·¢ÏÖÕâÊÇ×îºÃµÄÕÛÖÔ°ì·¨¡£
ÀýÈç
class NameOneTwo
{
function DoIt() {};
function HandleError() {};
}

2.8. ÀàÊô**ÃüÃû

¡¤ Êô**ÃüÃûÓ¦¸ÃÒÔ×Ö·û¡®m¡¯ÎªÇ°×º¡£
¡¤ ǰ׺¡®m¡¯ºó²ÉÓÃÓÚÀàÃüÃûÒ»ÖµĹæÔò¡£
¡¤ ¡®m¡¯×ÜÊÇÔÚÃû×ֵĿªÍ·ÆðÐÞÊÎ×÷Ó㬾ÍÏñÒÔ¡®r¡¯¿ªÍ·±íʾÒýÓÃÒ»Ñù¡£
ÀíÓÉ
¡¤ ǰ׺"m"·ÀÖ¹ÀàÊô**ºÍ·½·¨Ãû·¢ÉúÈκγåÍ»¡£ÄãµÄ·½·¨ÃûºÍÊô**Ãû¾­³£»áºÜÀàËÆ£¬ÌرðÊÇ´æÈ¡ÔªËØ¡£
ÀýÈç
class NameOneTwo
{
function VarAbc() {};
function ErrorNumber() {};
var $mVarAbc;
var $mErrorNumber;
var $mrName;
}

2.9. ·½·¨ÖвÎÊýÃüÃû

¡¤ µÚÒ»¸ö×Ö·ûʹÓÃСд×Öĸ¡£
¡¤ ÔÚÊ××Ö·ûºóµÄËùÓÐ×Ö¶¼°´ÕÕÀàÃüÃû¹æÔòÊ××Ö·û´óд¡£
ÀíÓÉ
¡¤ ¿ÉÒÔÇø·Ö·½·¨ÖеÄÒ»°ã±äÁ¿¡£
¡¤ Äã¿ÉÒÔʹÓÃÓëÀàÃûÏàËÆµÄÃû³Æ¶ø²»ÖÁÓÚ²úÉúÖØÃû³åÍ»¡£
ÀýÈç
class NameOneTwo
{
function StartYourEngines(
&$rSomeEngine,
&$rAnotherEngine);
}

2.10. ±äÁ¿ÃüÃû

¡¤ ËùÓÐ×Öĸ¶¼Ê¹ÓÃСд
¡¤ ʹÓÃ"_"×÷Ϊÿ¸ö´ÊµÄ·Ö½ç¡£
ÀíÓÉ
¡¤ ͨ¹ýÕâһ;¾¶£¬´úÂëÖбäÁ¿µÄ×÷ÓÃÓòÊÇÇåÎúµÄ¡£
¡¤ ËùÓеıäÁ¿ÔÚ´úÂëÖж¼¿´ÆðÀ´²»Í¬£¬ÈÝÒ×±æÈÏ¡£
ÀýÈç
function HandleError($errorNumber)
{
$error = OsErr($errorNumber);
$time_of_error = OsErr->GetTimeOfError();
$error_processor = OsErr->GetErrorProcessor();
}

2.11. ÒýÓñäÁ¿ºÍº¯Êý·µ»ØÒýÓÃ

¡¤ ÒýÓñØÐë´ø¡®r¡¯Ç°×º
ÀíÓÉ
¡¤ ʹµÃÀàÐͲ»Í¬µÄ±äÁ¿ÈÝÒ×±æÈÏ
¡¤ Ëü¿ÉÒÔÈ·¶¨Äĸö·½·¨·µ»Ø¿É¸ü¸Ä¶ÔÏó£¬Äĸö·½·¨·µ»Ø²»¿É¸ü¸Ä¶ÔÏó¡£
ÀýÈç
class Test
{
var mrStatus;
function DoSomething(&$rStatus) {};
function &rStatus() {};
}

2.12. È«¾Ö±äÁ¿

¡¤ È«¾Ö±äÁ¿Ó¦¸Ã´øÇ°×º¡®g¡¯¡£
ÀíÓÉ
¡¤ ÖªµÀÒ»¸ö±äÁ¿µÄ×÷ÓÃÓòÊǷdz£ÖØÒªµÄ¡£
ÀýÈç
global $gLog;
global &$grLog;

2.13. ¶¨ÒåÃüÃû / È«¾Ö³£Á¿

¡¤ È«¾Ö³£Á¿ÓÃ"_"·Ö¸ôÿ¸öµ¥´Ê¡£
ÀíÓÉ
ÕâÊÇÃüÃûÈ«¾Ö³£Á¿µÄ´«Í³¡£ÄãҪעÒâ²»ÒªÓëÆäËüµÄ¶¨ÒåÏà³åÍ»¡£
ÀýÈç
define("A_GLOBAL_CONSTANT", "Hello world!");

2.14. ¾²Ì¬±äÁ¿

¡¤ ¾²Ì¬±äÁ¿Ó¦¸Ã´øÇ°×º¡®s¡¯¡£
ÀíÓÉ
¡¤ ÖªµÀÒ»¸ö±äÁ¿µÄ×÷ÓÃÓòÊǷdz£ÖØÒªµÄ¡£
ÀýÈç
function test()
{
static $msStatus = 0;
}

2.15. º¯ÊýÃüÃû

¡¤ º¯ÊýÃû×Ö²ÉÓÃC GNUµÄ¹ßÀý£¬ËùÓеÄ×ÖĸʹÓÃСд×Öĸ£¬Ê¹ÓÃ"_"·Ö¸îµ¥´Ê¡£
ÀíÓÉ
¡¤ ÕâÑù¿ÉÒÔ¸üÒ×ÓÚÇø·ÖÏà¹ØÁªµÄÀàÃû¡£
ÀýÈç
function some_bloody_function()
{
}

2.16. ´íÎ󷵻ؼì²â¹æÔò

¡¤ ¼ì²éËùÓеÄϵͳµ÷ÓõĴíÎóÐÅÏ¢£¬³ý·ÇÄãÒªºöÂÔ´íÎó¡£
¡¤ ΪÿÌõϵͳ´íÎóÏûÏ¢¶¨ÒåºÃϵͳ´íÎóÎı¾ÒÔ±ãinclude¡£


3. Êéд¹æÔò


3.1. ´óÀ¨ºÅ {} ¹æÔò

ÔÚÈýÖÖÖ÷ÒªµÄ´óÀ¨ºÅ·ÅÖùæÔòÖУ¬ÓÐÁ½ÖÖÊÇ¿ÉÒÔ½ÓÊܵģ¬ÈçϵĵÚÒ»ÖÖÊÇ×îºÃµÄ£º
¡¤ ½«´óÀ¨ºÅ·ÅÖÃÔڹؼü´ÊÏ·½µÄͬÁд¦£º
if ($condition) while ($condition)
{ {
... ...
} }
¡¤ ´«Í³µÄUNIXµÄÀ¨ºÅ¹æÔòÊÇ£¬Ê×À¨ºÅÓë¹Ø¼ü´ÊͬÐУ¬Î²À¨ºÅÓë¹Ø¼ü×ÖͬÁУº
if ($condition) { while ($condition) {
... ...
} }
ÀíÓÉ
¡¤ ÒýÆð¾çÁÒÕùÂ۵ķÇÔ­ÔòµÄÎÊÌâ¿Éͨ¹ýÕÛÖԵİ취½â¾ö£¬Á½ÖÖ·½·¨ÈÎÒâÒ»ÖÖ¶¼ÊÇ¿ÉÒÔ½ÓÊܵģ¬È»¶ø¶ÔÓÚ´ó¶àÊýÈËÀ´Ëµ¸üϲ»¶µÚÒ»ÖÖ¡£Ô­Òò¾ÍÊÇÐÄÀíÑо¿Ñ§Ï°·¶³ëµÄ¶«Î÷ÁË¡£
¶ÔÓÚ¸üϲ»¶µÚÒ»ÖÖ»¹ÓÐןü¶àµÄÔ­Òò¡£Èç¹ûÄúʹÓõÄ×Ö·û±à¼­Æ÷Ö§³ÖÀ¨ºÅÆ¥Å书Äܵϰ£¨ÀýÈçvi£©£¬×îÖØÒªµÄ¾ÍÊÇÓÐÒ»¸öºÃµÄÑùʽ¡£ÎªÊ²Ã´£¿ÎÒÃÇ˵µ±ÄãÓÐÒ»´ó¿éµÄ³ÌÐò¶øÇÒÏëÖªµÀÕâÒ»´ó¿é³ÌÐòÊÇÔÚÄĶù½áÊøµÄ»°¡£ÄãÏÈÒÆµ½¿ªÊ¼µÄÀ¨ºÅ£¬°´Ï°´Å¥±à¼­Æ÷¾Í»áÕÒµ½ÓëÖ®¶ÔÓ¦µÄ½áÊøÀ¨ºÅ£¬ÀýÈ磺
if ($very_long_condition && $second_very_long_condition)
{
...
}
else if (...)
{
...
}
´ÓÒ»¸ö³ÌÐò¿éÒÆ¶¯µ½ÁíÒ»¸ö³ÌÐò¿éÖ»ÐèÒªÓùâ±êºÍÄãµÄÀ¨ºÅÆ¥Åä¼ü¾Í¿ÉÒÔÁË£¬²»ÐèÕÒÆ¥ÅäµÄÀ¨ºÅ¡£

3.2. Ëõ½ø/ÖÆ±í·û/¿Õ¸ñ ¹æÔò

¡¤ ʹÓÃÖÆ±í·ûËõ½ø¡£
¡¤ ʹÓÃÈýµ½Ëĸö¿Õ¸ñΪÿ²ã´ÎËõ½ø¡£
¡¤ ²»ÔÙʹÓÃÖ»ÒªÒ»ÓÐÐèÒª¾ÍËõÅŵķ½·¨¡£¶ÔÓÚ×î´óËõ½ø²ãÊý£¬²¢Ã»ÓÐÒ»¸ö¹Ì¶¨µÄ¹æ¾Ø£¬¼ÙÈçËõ½ø²ãÊý´óÓÚËÄ»òÕßÎå²ãµÄʱºò£¬Äã¿ÉÒÔ¿¼ÂÇ׎«´úÂëÒòÊý·Ö½â(factoring out code)¡£
ÀíÓÉ
¡¤ Ðí¶à±à³ÌÕßÖ§³ÖÖÆ±í·û¡£
¡¤ µ±ÈËÃÇʹÓòîÒìÌ«´óµÄÖÆ±í·û±ê×¼µÄ»°£¬»áʹÔĶÁ´úÂë±äµÃºÜ·ÑÁ¦¡£
¡¤ Èç´Ë¶àµÄÈËÔ¸ÒâÏÞ¶¨×î´óµÄËõ½ø²ãÊý£¬Ëüͨ³£´Óδ±»¿´×÷ÊÇÒ»¼þ¹¤×÷¡£ÎÒÃÇÏàÐųÌÐòÔ±ÃÇ»áÃ÷ÖǵÄÑ¡ÔñǶÌ×µÄÉî¶È¡£
ÀýÈç
function func()
{
if (something bad)
{
if (another thing bad)
{
while (more input)
{
}
}
}
}

3.3. СÀ¨ºÅ¡¢¹Ø¼ü´ÊºÍº¯Êý ¹æÔò

¡¤ ²»Òª°ÑСÀ¨ºÅºÍ¹Ø¼ü´Ê½ôÌùÔÚÒ»Æð£¬ÒªÓÿոñ¸ô¿ªËüÃÇ¡£
¡¤ ²»Òª°ÑСÀ¨ºÅºÍº¯ÊýÃû½ôÌùÔÚÒ»Æð¡£
¡¤ ³ý·Ç±ØÒª£¬²»ÒªÔÚReturn·µ»ØÓï¾äÖÐʹÓÃСÀ¨ºÅ¡£
ÀíÓÉ
¡¤ ¹Ø¼ü×Ö²»ÊǺ¯Êý¡£Èç¹ûСÀ¨ºÅ½ôÌùן¯ÊýÃûºÍ¹Ø¼ü×Ö£¬¶þÕߺÜÈÝÒ×±»¿´³ÉÊÇÒ»ÌåµÄ¡£
ÀýÈç
if (condition)
{
}

while (condition)
{
}

strcmp($s, $s1);

return 1;

3.4. ±ðÔÚ¶ÔÏó¼Ü¹¹º¯ÊýÖÐ×öʵ¼ÊµÄ¹¤×÷

±ðÔÚ¶ÔÏó¼Ü¹¹¹¹Ô캯ÊýÖÐ×öʵ¼ÊµÄ¹¤×÷£¬ ¹¹Ô캯ÊýÓ¦¸Ã°üº¬±äÁ¿µÄ³õʼ»¯ºÍ£¨»ò£©²»»á·¢Éúʧ°ÜµÄ²Ù×÷¡£
ÀíÓÉ
¡¤ ¹¹Ôì²»ÄÜ·µ»Ø´íÎó ¡£
ÀýÈç
class Device
{
function Device() { /* initialize and other stuff */ }
function Open() { return FAIL; }
};

$dev = new Device;
if (FAIL == $dev->Open()) exit(1);

3.5. If Then Else ¸ñʽ

²¼¾Ö
ÕâÓɳÌÐòÔ±¾ö¶¨¡£²»Í¬µÄ»¨À¨ºÅÑùʽ»á²úÉúЩ΢²»Í¬µÄÑù¹Û¡£Ò»¸öͨÓ÷½Ê½ÊÇ£º
if (Ìõ¼þ1) // ×¢ÊÍ
{
}
else if (Ìõ¼þ2) // ×¢ÊÍ
{
}
else // ×¢ÊÍ
{
}
Èç¹ûÄãÓÐÓõ½else if Óï¾äµÄ»°£¬Í¨³£×îºÃÓÐÒ»¸öelse¿éÒÔÓÃÓÚ´¦Àíδ´¦Àíµ½µÄÆäËûÇé¿ö¡£¿ÉÒԵϰ·ÅÒ»¸ö¼Ç¼ÐÅÏ¢×¢ÊÍÔÚelse´¦£¬¼´Ê¹ÔÚelseûÓÐÈκε͝×÷¡£
Ìõ¼þ¸ñʽ
×ÜÊǽ«ºãÁ¿·ÅÔڵȺÅ/²»µÈºÅµÄ×ó±ß£¬ÀýÈ磺
if ( 6 == $errorNum ) ...
Ò»¸öÔ­ÒòÊǼÙÈçÄãÔÚµÈʽÖЩÁËÒ»¸öµÈºÅ£¬Óï·¨¼ì²éÆ÷»áΪÄ㱨´í¡£µÚ¶þ¸öÔ­ÒòÊÇÄãÄÜÁ¢¿ÌÕÒµ½ÊýÖµ¶ø²»ÊÇÔÚÄãµÄ±í´ïʽµÄÄ©¶ËÕÒµ½Ëü¡£ÐèÒªÒ»µãʱ¼äÀ´Ï°¹ßÕâ¸ö¸ñʽ£¬µ«ÊÇËüȷʵºÜÓÐÓá£

3.6. switch ¸ñʽ

¡¤ µ±Ò»¸öcase¿é´¦Àíºó£¬Ö±½Óתµ½ÏÂÒ»¸öcase¿é´¦Àí£¬ÔÚÕâ¸öcase¿éµÄ×îºóÓ¦¸Ã¼ÓÉÏ×¢ÊÍ¡£
¡¤ default case×ÜÓ¦¸Ã´æÔÚ£¬ËüÓ¦¸Ã²»±»µ½´ï£¬È»¶øÈç¹ûµ½´ïÁ˾ͻᴥ·¢Ò»¸ö´íÎó¡£
¡¤ Èç¹ûÄãÒª´´Á¢Ò»¸ö±äÁ¿£¬ÄǾͰÑËùÓеĴúÂë·ÅÔÚ¿éÖС£
ÀýÈç
switch (...)
{
case 1:
...
// FALL THROUGH
case 2:
{
$v = get_week_number();
...
}
break;

default:
}

3.7. continue,break ºÍ ? µÄʹÓÃ

3.7.1. Continue ºÍ Break
Continue ºÍ break ÆäʵÊDZäÏàµÄÒþ±ÎµÄ goto·½·¨¡£
Continue ºÍ break Ïñ goto Ò»Ñù£¬ËüÃÇÔÚ´úÂëÖÐÊÇÓÐħÁ¦µÄ£¬ËùÒÔÒª½Ú¼ó£¨¾¡¿ÉÄÜÉÙ£©µÄʹÓÃËüÃÇ¡£Ê¹ÓÃÁËÕâÒ»¼òµ¥µÄħ·¨£¬ÓÉÓÚһЩδ¹«¿ªµÄÔ­Òò£¬¶ÁÕß½«»á±»¶¨Ïòµ½Ö»ÓÐÉϵ۲ÅÖªµÀµÄµØ·½È¥¡£
ContinueÓÐÁ½¸öÖ÷ÒªµÄÎÊÌ⣺
¡¤ Ëü¿ÉÒÔÈÆ¹ý²âÊÔÌõ¼þ¡£
¡¤ Ëü¿ÉÒÔÈÆ¹ýµÈ/²»µÈ±í´ïʽ¡£
¿´¿´ÏÂÃæµÄÀý×Ó£¬¿¼ÂÇÒ»ÏÂÎÊÌâ¶¼ÔÚÄĶù·¢Éú£º
while (TRUE)
{
...
// A lot of code
...
if (/* some condition */) {
continue;
}
...
// A lot of code
...
if ( $i++ > STOP_VALUE) break;
}
×¢Ò⣺"A lot of code"ÊDZØÐëµÄ£¬ÕâÊÇΪÁËÈóÌÐòÔ±ÃDz»ÄÜÄÇôÈÝÒ×µÄÕÒ³ö´íÎó¡£
ͨ¹ýÒÔÉϵÄÀý×Ó£¬ÎÒÃÇ¿ÉÒԵóö¸ü½øÒ»²½µÄ¹æÔò£ºcontinue ºÍ break »ìºÏʹÓÃÊÇÒýÆðÔÖÄѵÄÕýÈ··½·¨¡£
3.7.2. ?:
Âé·³ÔÚÓÚÈËÃÇÍùÍùÊÔ×ÅÔÚ ? ºÍ : Ö®¼äÈûÂúÁËÐí¶àµÄ´úÂë¡£ÒÔϵÄÊÇһЩÇåÎúµÄÁ¬½Ó¹æÔò£º
¡¤ °ÑÌõ¼þ·ÅÔÚÀ¨ºÅÄÚÒÔʹËüºÍÆäËûµÄ´úÂëÏà·ÖÀë¡£
¡¤ Èç¹û¿ÉÄܵϰ£¬¶¯×÷¿ÉÒÔÓüòµ¥µÄº¯Êý¡£
¡¤ °ÑËù×öµÄ¶¯×÷£¬¡°?¡±£¬¡°:¡±·ÅÔÚ²»Í¬µÄÐУ¬³ý·ÇËûÃÇ¿ÉÒÔÇå³þµÄ·ÅÔÚͬһÐС£
ÀýÈç
(condition) ? funct1() : func2();

or

(condition)
? long statement
: another long statement;

3.8. ÉùÃ÷¿éµÄ¶¨Î»

¡¤ ÉùÃ÷´úÂë¿éÐèÒª¶ÔÆë¡£
ÀíÓÉ
¡¤ ÇåÎú¡£
¡¤ ±äÁ¿³õʼ»¯µÄÀàËÆ´úÂë¿éÓ¦¸ÃÁÐ±í¡£
¡¤ &Ó¦¿¿½üÀàÐÍ£¬¶ø²»ÊDZäÁ¿Ãû¡£
ÀýÈç
var $mDate
var& $mrDate
var& $mrName
var $mName

$mDate = 0;
$mrDate = NULL;
$mrName = 0;
$mName = NULL;

3.9. ÿÐÐÒ»¸öÓï¾ä

³ý·ÇÕâЩÓï¾äÓкÜÃÜÇеÄÁªÏµ£¬·ñÔòÿÐÐֻдһ¸öÓï¾ä¡£

3.10. ¶Ì·½·¨

·½·¨´úÂëÒªÏÞÖÆÔÚÒ»Ò³ÄÚ¡£

ÒÑÓÐ 0 λ¶Ô´ËÐÂΟÐÐËȤµÄÍøÓÑ·¢±íÁË¿´·¨

×¢£ºÆÀÂÛÄÚÈÝ(²»Äܳ¬¹ý250×Ö£¬ÐèÉóºËºó²Å»á¹«²¼£¬Çë×Ô¾õ×ñÊØ»¥ÁªÍøÏà¹ØÕþ²ß·¨¹æ¡£
ÄäÃûÆÀÂÛ
¹ØÓÚÎÒÃÇ  -  ÍøÕ¾µØÍ¼  -  ÁªÏµ·½Ê½  -  °æÈ¨ÉêÃ÷  -  ÓÑÇéÁ´½Ó -  Ê¹ÓðïÖú
© °æÈ¨ËùÓÐ Êý¾ÝÍÚ¾òÑо¿Ôº(www.ChinaKDD.com)
ÔöÖµµçÐÅÒµÎñ¾­ÓªÐí¿ÉÖ¤±àºÅ£ºÍîB2-20040042 ÎÄÍøÎÄ£º[2005]027ºÅ