Зачем Kolesa Group продолжает строить на PHP в эпоху Go и Python

Зачем Kolesa Group продолжает строить на PHP в эпоху Go и Python


Руководитель backend-разработки Kolesa Group Аким Кротов рассказал, как в компании работает PHP.

В мире разработки мнения о PHP расходятся: одни называют язык устаревшим, другие используют его как основной инструмент. В Kolesa Group придерживаются осознанного и практичного подхода — используют то, что дает наилучший результат. Для компании PHP остаётся надёжным и эффективным выбором.

Сегодня язык лежит в основе архитектуры ключевых продуктов — «Kolesa.kz», «Krisha.kz» и «Avtoelon.uz». С его помощью сервисы быстро запускаются и масштабируются, легко адаптируются к изменениям рынка, а команда сохраняет высокие темпы разработки и качество релизов.

Почему компания продолжает использовать PHP

PHP давно занял прочную позицию в веб-разработке, и с начала 2000-х годов на нём создаются продукты компании. Даже после перехода на микросервисную архитектуру и внедрения Go, ядро проектов осталось на PHP.

По словам Акима Кротова, около 90 % бизнес-логики сервисов написано на PHP. Язык обеспечивает лёгкость и гибкость при частых изменениях требований, занимает свыше 50 % всего кода; вслед за ним по объёму использования идут Go, JavaScript и Python. Такой выбор удобен, потому что:

●      разработка и изменения занимают меньше времени,

●      на рынке много специалистов,

●      сервисы легко масштабируются через Kubernetes.

У PHP есть свои ограничения — особенно в задачах, требующих высокой производительности на уровне системных ресурсов. Например, при интенсивной обработке изображений PHP оказывается не лучшим выбором. Каждый запрос в PHP блокирует процесс до завершения, а работа с файлами ведётся через обёртки и сторонние расширения, что добавляет накладные расходы. Кроме того, как интерпретируемый язык, PHP обрабатывает каждую операцию через интерпретатор, а не напрямую в машинном коде, как это делает, например, Go. Поэтому при обработке миллионов пикселей в изображениях разница в скорости становится критичной. 

Как в компании используют современный PHP

В продакшене работают актуальные версии PHP. Команды применяют final-классы, readonly-свойства, enum-типы, строгую типизацию (declare(strict_types=1)), внедрение зависимостей, DDD и другие практики зрелой разработки — всё это ускоряет работу и снижает вероятность ошибок в сложных системах.

Основной фреймворк — Phalcon; в отдельных проектах задействованы Laravel, Yii и компоненты Symfony. Phalcon показал высокую производительность, когда «Krisha.kz» переписывалась с нуля. Сейчас Kolesa Group оценивает варианты миграции с Phalcon — официальная поддержка фреймворка прекращена. Вариантов несколько, но подход один: не «переписать всё с нуля», а переходить постепенно, по частям.

Для разработчиков это не просто технический долг, а возможность поработать с архитектурой, продумать интерфейсы и заложить основу на годы вперёд.

Независимо от выбранного инструмента, во всех командах действуют строгие код-гайды и архитектурные стандарты. Тимлиды следят за их соблюдением и помогают новому коду соответствовать лучшим практикам.

Работа с унаследованным кодом

В компании инженерная культура строится на простом принципе — любой код со временем становится легаси, и к этому нужно быть готовыми. Исторический код остаётся частью системы, и команда системно с ним работает: — через регулярный рефакторинг, тестирование и поддержку. В таск-трекере для этого предусмотрен отдельный тип задач — Refactoring. Решение о переработке принимает разработчик или тимлид, опираясь на карту технического долга и текущие приоритеты.

Для работы с унаследованным кодом применяются инструменты вроде AspectMock — особенно там, где сложно сразу внедрить классические unit-тесты. Покрытие наращивается постепенно: без резких изменений, но с устойчивым, осознанным прогрессом.

Почему PHP по-прежнему эффективен

Язык активно развивается: регулярно выходят новые версии — последняя, PHP 8.4, вышла в ноябре 2024 года. Расширяется экосистема библиотек и инструментов. В ежедневной работе PHP обеспечивает простоту и предсказуемость, высокую скорость релизов, низкие затраты на поддержку большого кода и меньшие накладные расходы по сравнению с альтернативами.

В ежедневной работе PHP обеспечивает:

●      простоту и предсказуемость,

●      высокую скорость релизов,

●      низкие затраты на поддержку большого кода,

●      меньшие накладные расходы по сравнению с альтернативами.

Некоторые практики, например DDD, действительно усложняют проект, но это вопрос зрелости продукта, а не ограничение самого языка. Если задача выходит за рамки возможностей PHP, команда подключает другой инструмент: изображения обрабатываются на Go, рекомендательные системы и отчёты работают на Python.

Будущее стека

В Kolesa Group уже началась масштабная трансформация PHP-стека:

●      планируется миграция с Phalcon на современную технологическую основу;

●      усиливается контроль качества кода: внедряется статический анализ, мониторится покрытие тестами, развиваются процессы CI/CD, последовательно вводится строгая типизация;

●      в архитектуре делается упор на модульность — микросервисы, пакетная структура, элементы DDD «там, где это оправдано».

Развитие инженерной культуры не ограничивается внутренними процессами. Компания активно делится опытом с профессиональным сообществом: разработчики компании выступают на митапах, пишут статьи, участвуют в открытых обсуждениях и тем самым усиливают рынок.

Работа в backend-командах — это не только про надёжный и масштабируемый код, но и про профессиональный рост. Здесь ценится зрелый подход к разработке, прозрачность процессов и стремление делать вклад в индустрию.