PHP
Тема дорожной карты · Backend разработчик
PHP — серверный язык программирования, на котором работают WordPress, Wikipedia и значительная часть e-commerce и CMS-экосистемы. Современный PHP (8.0+) — это типизированный JIT-компилируемый язык с атрибутами, перечислениями, readonly-свойствами и развитой системой типов. Основная работа на бэкенде ведётся в Laravel (фулстек-фреймворк в духе Rails с встроенными ORM Eloquent, очередями и broadcasting) и Symfony (компонентный фреймворк, лежит в основе Drupal и Magento). Зависимости управляются Composer через Packagist, тестирование — PHPUnit, ORM-слой data-mapper — Doctrine с миграциями. В продакшне PHP запускается за PHP-FPM с включёнными OPcache и Preload, обычно за Nginx, и хорошо интегрируется с Redis, RabbitMQ, PostgreSQL/MySQL и Elasticsearch.
Как это работает
PHP отлично подходит, когда важна скорость доставки фичи и команда уже знает стек. Выбирайте Laravel для greenfield-разработки бизнес-приложений: Eloquent ORM, очереди, broadcasting и планировщик «из коробки», богатая экосистема first-party-пакетов (Sanctum для API-аутентификации, Horizon для очередей, Telescope для observability). Выбирайте Symfony, когда нужен тонкий контроль над DI-контейнером и компоновкой бандлов в долгоживущих enterprise-системах. Чистый PHP + Slim/Mezzio — для маленьких сервисов. Производительность современного PHP конкурентна: roadrunner и frankenphp запускают PHP как долгоживущий worker, избавляясь от стоимости bootstrap FPM на каждом запросе.
Когда применять
PHP силён в CMS-ориентированных продуктах (контентные порталы, маркетплейсы, CRM), MVP-бэкендах с явным database-driven UI и интеграциях в экосистемы WordPress/Drupal/Magento. На рынке найма в России база PHP-разработчиков необычно глубокая — заметная доля backend-вакансий на hh.ru явно требует PHP. Избегайте PHP для ультранизкой задержки, тяжёлых параллельных CPU-нагрузок и систем, где критически нужна строгая статическая компиляция end-to-end.
Типичные ловушки
Ловушки PHP: код в стиле PHP 7 в 2026 году (без подсказок типов, без strict_types) — современные команды требуют declare(strict_types=1) и максимальный уровень phpstan/psalm. Забывают включить OPcache в проде (5-10× производительности уходит впустую). Смешивание ответственностей в контроллерах Laravel вместо form requests + сервисов + observer'ов. Дрейф зависимостей Composer — фиксируйте через composer.lock и используйте Renovate/Dependabot.