Практика
PHP: Коварная простота
Гибкость языка — это препятствиеЕсли Вы пишите на строгом языке — то Вам сложно писать по-другому. На пыхе существует 1001 способ сделать одно и тоже, можно писать классы с объектами, можно статические классы, можно начитаться паттернов программирования и везде (где не нужно тоже) видеть паттерны. |
зато ничего не мешаетКроме одного) Только последнее время в пыхе появилось множественное наследование (трейты), и все равно это не так красиво как чертово «просто множественное наследование» |
Много разных функцийlevenshtein, ord, strcspn — Вы о них можете никогда не узнать даже за несколько лет упорного кодинга, и таких функций — сотни |
зато основных совсем малоБольшую часть времени Вы будете использовать echo и isset |
Невысокая производительностьХотя при проблемах с производительностью успешно можно прокачать умение делать качественный код без хвостиков и утечек. После чего уже и проблем нет. |
зато быстрая разработкаБольшую часть времени Вы можете перепроверять гипотезы на реальных пользователях, а не ждать два года до «выкатывания» идеального сферического продукта. |
Blackfire: Как работает анализ скорости
Для глубокого анализа «почему все не так» существует множество инструментов. Попробуем использовать новенький анализатор скорости PHP — Blackfire (выпуск от декабря 2014). Самое сложное в нем — поставить на хостинг (заметьте, вам нужно будет и клиент, и расширение для php ставить аккуратно и внимательно следуя инструкции. На виртуальном хостинге это вопрос, а на выделенном — все получается достаточно легко.
После этого мы можем или через расширение к хрому, или через консоль запросить урл сайта, подозреваемый в низкой скорости. Результатом будет интереснейший граф выполнения… Дальше подробнее на примерах и как все работает)
Программирование — не сложно, но от этого писать просто становится еще труднее
Первые шаги: Готовое решение рекурсии категорий
Одна из наиболее часто встречающихся задач по рекурсии — рекурсия дерева категорий