Для обеспечения максимальной производительности PHP-скриптов необходимо учитывать несколько особенностей языка. Я уже писал cоветы по PHP оптимизации, но пришло время их пополнить и пояснить некоторые пункты.
10 советов по оптимизации PHP-кода:
- echo работает быстрей print
Echo работает немного быстрее print, потому что конструкция echo не предполагает установку возвращаемого значения. Print ведёт себя как функция, хотя и не является «настоящей» функцией (это конструкция языка), и всегда возвращает значение 1. - Оптимизируйте вывод через
Не используйте конкатенацию при выводе через echo. Заключайте строки в одинарные кавычки, когда в ней нет переменных. Используйте
echo
'
var1=
'
,$var1,
'
var2=
'
,$var2;
вместо
echo "var1=$var1 var2= $var2";
- ++$I работает быстрее, чем $I++
Это связано с особенностями реализации языка PHP. Постинкремент ($I++) создает одну временную переменную, в то время как преинкремент (++$I) непосредственно изменяет саму переменную. - Закрывайте неиспользуемые соединения с базой данных.
Зачем оставлять соединение с базой, если Вы получили все необходимые данные? Если вовремя не закрывать неиспользуемые соединения, можно исчерпать лимит соединений. Конечно же речь идет о высоконагруженных проектах. - Используйте require() вместо require_once() где это возможно.
Использование require() вместо require_once() хоть и позволяет выиграть в скорости, но может оказаться лишней головной болью, если Вам потребуется в большом проекте отслеживать не подключен где-либо уже этот файл. - ELSE IF работает быстрей,чем SWITCH
- Указывайте полные пути к файлам
При подключении файлов указывайте абсолютный путь к файлам – при этом не тратится время на преобразование относительного пути. - Подавления ошибок с помощью @ идет очень медленно
Старайтесь исключить все возможные ошибки. - Удаляйте свои переменные для освобождения памяти
Несомненно необходимо удалять ненужные переменные для освобождения памяти, тем более, если это большие массивы. Тут не все однозначно и зависит от ситуации. - Используйте кеширование
90% работы вашего приложения – это рутинное, повторяющееся извлечение данных. Используйте кеширование (например, memcached или eAccelerator).
Вот такие простые советы по оптимизации PHP-кода, которые должен знать каждый.