Tip&Tech2015. 7. 3. 21:36

PHP 코드최적화팁


1. echo가 print 보다 빠르다. 


2. string을 감싸는데 있어서 작은따옴표(') 가 큰따옴표(")보다 빠른데, 그 이유는 PHP는 큰따옴표안에서 변수를 찾고 작은 따옴표에서는 변수를 찾지 않기 때문이다. string에 변수가 없다면 작은따옴표를 사용해라 


3. echo를 string을 연속해서 사용하는것 대신에 여러개의 파라메터를 넣어서 사용해라 


4. 미리 계산한 값을 사용해라. for루프를 위해서 가장큰값을 지정할때 루프에 넣지말고 

예를 들어 for($x=0;$x<count($array);$x)는 count()를 매번 호출한다. $max = count($array)를 for 루프가 시작하기 전에 사용해라 


5. 메모리 free를 위해서 변수를 unset 또는 null 해라. 특히 큰 배열에서는 


6. str_replace가 preg_replace보다 빠르다. str_replace는 왠만하면 최고고, 그러나 strtr이 때대로 큰 string에서 좀더 빠르다. str_prelace안에 배열을 사용하는 것이 보통 여러개의 str_replace를 쓰는 것보다 빠르다. 


7. else if 구문이 switch보다 빠르다 


8. 사용하고 데이터베이스 connection을 닫아라 


9. $row['id']가 $row[id]보다 7배가 빠르다. 작은따옴표를 사용하지 않으면, 시스템이 무엇이 당신이 의미한 인덱스인지 추측해야한다. 


10. php를 선언할때는 <?php ... ?> 을 사용하자. 다른 스타일은 모두 불량 



11. 엄격한 코드를 사용하자, notice와 warning, error를 안보이게 하는것을 피하자. 좀더 깨끗한 코드와 덜 부하가 되는 결과를 나타낸다. error_reporting(E_ALL) 을 항상 켜놓는 것을 고려하자. 



12. header('location:'.$url);을 사용할때는 exit를 함께 사용하는것을 기억해라. location이 바뀌었음에도 불구하고 스크립트는 계속 진행된다. 


13. 미리 초기화한것을 사용할때보다 선언되지 않은 지역변수의 증가는 9~10배 느리다 


14. derived class의 메소드가 base class의 메소드보다 빠르다 


15. 에러를 보이지 않게 하는 @는 매우느리다


출처 : PHPSCHOOL

Posted by 네로