Оптимизация PHP-кода
![Оптимизация PHP-кода](/images/articles/php-optimization.jpg)
Сегодня я хотел бы рассказать о том, как оптимизировать PHP-код. Безусловно, всех способов я сейчас не напишу, но кое-какие интересные примеры того, как можно неплохо ускорить время выполнения PHP-скрипта, я покажу.
Правило №1: Старайтесь не использовать длинные переменные
Действительно, если длина имени переменной больше 4-х символов, то скорость выполнения начинает падать. Особенно это заметно при длине от 8-ми символов.
Правило №2: Старайтесь не использовать цикл foreach
Цикл foreach используйте только для перебора ассоциативных массивов, а для всех остальных случаев жизни используйте только for или while. Выигрыш в скорости 25-30%.
Правило №3: Старайтесь переменные выносить за пределы кавычек
Давайте разберём такой код:
<?php
$x = 5;
$y = "5$x5";
$z = "5".$x."5";
?>
Если проверить скорость выполнения, то можно заметить, что присвоение $y идёт примерно на 20% медленее, чем присвоение переменной $z. Особенно это актуально, если вместо переменной $x поставить элемент двумерного массива.
Это были 3 правила по оптимизации PHP-кода. Если я буду обнаруживать ещё какие-то интересные моменты, то обязательно напишу 2-ю часть этой статьи. Было бы очень здорово, если бы Вы в комментариях написали ещё какие-нибудь способы оптимизировать PHP-код.
-
-
Михаил Русаков
Комментарии (4):
Интерпретатор быстрее обрабатывает одиночные кавычки (поскольку передаваемый текст не изменяется) чем двойные. Пример: $v=7; echo 'Саше исполнилось ' . $v . 'лет'; быстрее чем echo "Саше исполнилось $v лет";
Ответить
Касательно правила №1 по поводу длины имени переменных. Дело в том, что короткие имена крайне затрудняют в дальнейшем как понимание так и исправление возможных ошибок. И имеет смысл вначале делать все-таки максимально понятные имена, а когда надобность в отладке программы отпадет заменить их на более короткие для ускорения кода.
Ответить
Неплохо было бы еще услышать пару советов, как оптимизировать запросы к базе данных...)
Ответить
Да, неплохая тема для статьи, обязательно освещу. Спасибо!
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.