(×ªÔØ)ÓÅ»¯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¹Ù·½ ......
ת×Ô£ºhttp://www.chinaz.com/news/Visit/091Y21R2009.html
Rasmus Lerdorf¿ÉÄÜÊǸñÁêÀ¼×îÖøÃûµÄµçÄÔÅ£ÈË£¬Ëû1995Äê´´½¨ÁËPHP½Å±¾ÓïÑÔ£¬²¢³É¹¦Ó¦Óõ½ËûµÄÍøÕ¾ÖУ¬ÔÚËûµÄÒ»ÊÖÔÔÅàÏ£¬PHPÒѱä³ÉÒ»¸öÇ¿´óµÄ£¬ÍêÈ«³ÉÊìµÄÓïÑÔ£¬Ä¿Ç°ÊÀ½ç¸÷µØÒÑÓÐÊý°ÙÍòPHPÓ¦Óð¸Àý¡£
PHP´´Ê¼ÈËRasmus Lerdorf
Linux FormatÔÓÖ¾¶ÔRasmus Lerd ......
TIOBEÊÀ½ç±à³ÌÓïÑÔÅÅÐаñÕ¹ÏÖÁ˱à³ÌÓïÑÔµÄÁ÷ÐÐÇ÷ÊÆ¡£Ã¿¸öÔ£¬¶¼ÓÐ×îеÄÊý¾Ý±»¸üС£Õâ·ÝÅÅÐаñµÄÊý¾ÝÈ¡ÑùÀ´Ô´ÓÚ»¥ÁªÍøÉϸ»ÓоÑéµÄ³ÌÐòÔ±¡¢ÉÌÒµÓ¦Óá¢ÖøÃûµÄËÑË÷ÒýÇæ£¨ÖîÈç¹È¸è¡¢ MSN ¡¢ÑÅ»¢£©µÄ¹Ø¼ü×ÖÅÅÃû¡¢ AlexaÉϵÄÅÅÃûµÈ¡£Çë×¢ÒâÕâ¸öÅÅÐаñÖ»ÊÇ·´Ó³ÁËij¸ö±à³ÌÓïÑÔµÄÈÈÃÅ³Ì¶È , Õâ²¢²»´ú±íËüÊÇÒ»¸ö×îºÃµÄ±à³ÌÓïÑÔ»òÊÇ¿ ......
ÀàµÄÃüÃû
¡¡¡¡ ÔÚΪÀࣨclass £©ÃüÃûǰÊ×ÏÈÒªÖªµÀËüÊÇʲô¡£Èç¹ûͨ¹ýÀàÃûµÄÌṩµÄÏßË÷£¬»¹ÊÇÏë²»ÆðÕâ¸öÀàÊÇʲôµÄ»°£¬ÄÇô¾Í˵Ã÷Éè¼Æ´æÔÚÎÊÌâ¡£
¡¡¡¡³¬¹ýÈý¸ö´Ê×é³ÉµÄ»ìºÏÃûÊÇÈÝÒ×Ôì³Éϵͳ¸÷¸öʵÌå¼äµÄ»ìÏý£¬³¢ÊÔʹÓã¨CRC Se- ssion card)¿´¿´¸ÃÃüÃûËù¶ÔÓ¦µÄʵÌåÊÇ·ñÓÐ×ÅÄÇô¶àµÄ¹¦Óá£
¡¡¡¡¶ÔÓÚÅÉÉúÀàµÄÃüÃûÓ¦¸Ã±ÜÃâ´ ......