Как писать оптимальный PHP код?

Нашел статью по оптимизации PHP на Хабре. Мне кажется, что многие рекомендации там носят параноидальный и непрактичный характер. Какие самые важные правила посоветуете использовать при разработке новой системы на PHP? (20% правил, которые дадут 80% результата)
  • Вопрос задан
  • 7795 просмотров
Пригласить эксперта
Ответы на вопрос 5
golotyuk
@golotyuk
99% оптимизации PHP это
- обязательно использовать APC (или opCache в новых версиях)
- использовать ООП только там, где это реально нужно
- использовать кэширование
- здравый смысл (не загружать списки из 100 элементов, если нужно только 10 и т.п.)

Поддерживаю Fesor - микрооптимизация - это скорее привычки, но никак не методы решения каких-то реальных проблем со скоростью работы.

Что почитать:
- Общие правила оптимальной работы PHP на практике
- Howto по производительности PHP с внутренностями
- 50 micro tips для оптимизации PHP (англ.)
Ответ написан
evnuh
@evnuh
Поиск Гугл помог мне, впусти и ты его в свой дом
Преждевременная оптимизация - зло.
При разработке системы следует уделить внимание её архитектуре, а не замене одних методов на других. Ну и, конечно, оптимизировать надо там, где надо. А то понапишут кривых запросов к БД, зато вложенные циклы на PHP соптимизированы.
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
SOLID, тесты и рефакторинг. А микрооптимизациями заниматься не стоит, точнее как, стоит знать то что там предлагается, но писать код только потому что "вот эта штука генерит на один опкод меньше" явно не стоит. Всеравно все упрется в базу и I/O.
Ответ написан
В своё время я написал более полную статью(обратите внимание на первое предложение).

Вся оптимизация PHP фактически сводиться к уменьшению времени работы с внешними данными (СУБД, кэш и файлы). То есть как можно меньше лезем в кэш, стараемся избавиться от работы с БД, либо сводим всё к одному-двум запросам, правильно разбиваем работу с файлами. И всё... Всё остальное паранойя
Ответ написан
Комментировать
nazarpc
@nazarpc
Open Source enthusiast
Та статья достаточно старая, пишите как пишите, потом поставьте xdebug, и через Webgrind посмотрите какой класс/метод/строка сколько общего времени выполнения занимают.
Это даст вам реальные, а не абстрактные в вакууме результаты. А вот полученные результаты уже берите на вооружение и учитывайте следующий раз при написании.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы