(×ªÔØ)ÓÅ»¯PHP´úÂëµÄ40Ìõ½¨Òé
ÔÎÄÁ´½Ó£ºhttp://webdev.csdn.net/page/58438f5e-704e-4e80-bdbd-7d06e8ecceb9#
40 Tips for optimizing your php Code
ÔÎĵØÖ·£ºhttp://reinholdweber.com/?p=3
Ó¢ÎİæÈ¨¹éReinhold WeberËùÓУ¬ÖÐÒëÎÄ×÷Õßyangyang£¨aka davidkoree£©¡£Ë«Óï°æ¿ÉÓÃÓÚ·ÇÉÌÒµ´«²¥£¬µ«Ðë×¢Ã÷Ó¢Îİæ×÷Õß¡¢°æÈ¨ÐÅÏ¢£¬ÒÔ¼°ÖÐÒëÎÄ×÷Õß¡£·ÒëˮƽÓÐÏÞ£¬Çë¹ã´óPHPerÖ¸Õý¡£
1. If a method can be static, declare it static. Speed improvement is by a factor of 4. Èç¹ûÒ»¸ö·½·¨¿É¾²Ì¬»¯£¬¾Í¶ÔËü×ö¾²Ì¬ÉùÃ÷¡£ËÙÂÊ¿ÉÌáÉýÖÁ4±¶¡£
2. echo is faster than print. echo ±È print ¿ì¡£
3. Use echo’s multiple parameters instead of string concatenation. ʹÓÃechoµÄ¶àÖØ²ÎÊý£¨Òë×¢£ºÖ¸ÓöººÅ¶ø²»ÊǾäµã£©´úÌæ×Ö·û´®Á¬½Ó¡£
4. Set the maxvalue for your for-loops before and not in the loop. ÔÚÖ´ÐÐforÑ»·Ö®Ç°È·¶¨×î´óÑ»·Êý£¬²»ÒªÃ¿Ñ»·Ò»´Î¶¼¼ÆËã×î´óÖµ¡£
5. Unset your variables to free memory, especially large arrays. ×¢ÏúÄÇЩ²»ÓõıäÁ¿ÓÈÆäÊÇ´óÊý×飬ÒÔ±ãÊÍ·ÅÄÚ´æ¡£
6. Avoid magic like __get, __set, __autoload ¾¡Á¿±ÜÃâʹÓÃ__get£¬__set£¬__autoload¡£
7. require_once() is expensive require_once()´ú¼Û°º¹ó¡£
8. Use full paths in includes and requires, less time spent on resolving the OS paths. ÔÚ°üº¬ÎļþʱʹÓÃÍêÕû·¾¶£¬½âÎö²Ù×÷ϵͳ·¾¶ËùÐèµÄʱ¼ä»á¸üÉÙ¡£
9.
If you need to find out the time when the script started executing,
$_SERVER[’REQUEST_TIME’] is preferred to time()
Èç¹ûÄãÏëÖªµÀ½Å±¾¿ªÊ¼Ö´ÐУ¨Òë×¢£º¼´·þÎñÆ÷¶ËÊÕµ½¿Í»§¶ËÇëÇ󣩵Äʱ¿Ì£¬Ê¹ÓÃ$_SERVER[‘REQUEST_TIME’]ÒªºÃÓÚtime()¡£
10. See if you can use strncasecmp, strpbrk and stripos instead of regex. ¼ì²éÊÇ·ñÄÜÓÃstrncasecmp£¬strpbrk£¬striposº¯Êý´úÌæÕýÔò±í´ïʽÍê³ÉÏàͬ¹¦ÄÜ¡£
11.
str_replace is faster than preg_replace, but strtr is faster than
str_replace by a factor of 4.
str_replaceº¯Êý±Èpreg_replaceº¯Êý¿ì£¬µ«strtrº¯ÊýµÄЧÂÊÊÇstr_replaceº¯ÊýµÄËı¶¡£
12.
If the function, such as string replacement function, accepts both
arrays and single characters as arguments, and if your argument list is
not too long, consider writing a few redund
Ïà¹ØÎĵµ£º
ÏȰ²×°µÄzlib ./configure --prefix=/usr/local/zlib È»ºó×°µÄcurl ./configure --prefix=/usr/local/curl --with-zlib=/usr/local/zlib °²×°gdĬÈϰ²×° ./configure --prefix=/usr/local/gd --with-zlib=/usr/local/zlib (ÓÐÐ©Ç°ÃæÏȰ²×°jepg,png...with¾Í¿ÉÒÔÁË,Ö®ºóphpµÄʱºò¿´./configure --helpÀïÃæÓоßÌåµÄ) ° ......
memcache¸öÈËÀí½âÖ÷ÒªÊÇÓÃÀ´¹ÜÀíÄÚ´æµÄ,phpºÍmemcache½áºÏ¾Í¿ÉÒÔʹphp°ÉһЩÊý¾Ý±£´æÔÚmemcache¹ÜÀíµÄÄÚ´æÀï,·½±ã¹ÜÀí,Ò²¿ì,»¹Ö§³Ö¶ą̀·þÎñÆ÷¹²ÏíÊý¾Ý,·Ï»°²»¶à˵. ·ÖΪlinuxºÍwindows 1)linuxºÍÀàUnix¿ÉÒÔ´ÓÒÔϵØÖ·ÏÂÔØmemcachedºÍlibevent,ÓÉÓÚ°²×°memcacheÐèÒªlibeventÖ§³Ö,ËùÒÔÐèÒªÏȰ²×°libevent memcached¹Ù·½ ......
ÔÚʵ¼ÊµÄ³ÌÐò¿ª·¢ÖУ¬Ö´ÐÐ×Ö·û´®Ìæ»»²Ù×÷ÊÇÒ»¼þ·Ç³£¾³£µÄÊ£¬¶Ôstr_replaceº¯ÊýµÄʵÓÃÒ²»á·Ç³£Æµ·±¡£
Õâ¶Îʱ¼äÔÚ¿´¡¶PHPºÍMySQL Web¿ª·¢¡·Ò»Êé¿´µ½str_replace½²½â£¬Ò»¶ÎСÌáʾдµ½£º¿ÉÒÔΪstr_replaceµÄÈý¸ö¶¼Ê¹ÓÃÊý×é´«È룬µ«½²½â±È½Ï¼òµ¥£¬ÓÚÊǾö¶¨×Ô¼º ......
ÀàµÄÃüÃû
¡¡¡¡ ÔÚΪÀࣨclass £©ÃüÃûǰÊ×ÏÈÒªÖªµÀËüÊÇʲô¡£Èç¹ûͨ¹ýÀàÃûµÄÌṩµÄÏßË÷£¬»¹ÊÇÏë²»ÆðÕâ¸öÀàÊÇʲôµÄ»°£¬ÄÇô¾Í˵Ã÷Éè¼Æ´æÔÚÎÊÌâ¡£
¡¡¡¡³¬¹ýÈý¸ö´Ê×é³ÉµÄ»ìºÏÃûÊÇÈÝÒ×Ôì³Éϵͳ¸÷¸öʵÌå¼äµÄ»ìÏý£¬³¢ÊÔʹÓã¨CRC Se- ssion card)¿´¿´¸ÃÃüÃûËù¶ÔÓ¦µÄʵÌåÊÇ·ñÓÐ×ÅÄÇô¶àµÄ¹¦Óá£
¡¡¡¡¶ÔÓÚÅÉÉúÀàµÄÃüÃûÓ¦¸Ã±ÜÃâ´ ......
̸µ½ÍøÒ³ËÑË÷ÒýÇæÊ±£¬´ó¶àÊýÈ˶¼»áÏëµ½ÑÅ»¢¡£µÄÈ·£¬ÑÅ»¢¿ª´´ÁËÒ»¸ö»¥ÁªÍøÂçµÄËÑË÷ʱ´ú¡£È»¶ø£¬ÑÅ»¢Ä¿Ç°ÓÃÓÚËÑË÷ÍøÒ³µÄ¼¼ÊõÈ´²¢·Ç¸Ã¹«Ë¾ÔÏÈ×Ô¼º¿ª·¢µÄ¡£2000Äê8Ô£¬ÑÅ»¢²ÉÓÃÁËGoogle£¨www.google.com£©Õâ¼ÒÓÉ˹̹¸£´óѧѧÉú´´½¨µÄ·çÏÕ¹«Ë¾µÄ¼¼Êõ¡£ÀíÓɷdz£¼òµ¥£¬GoogleµÄËÑË÷ÒýÇæ±ÈÑÅ»¢ÏÈǰʹÓÃµÄ ......