PHP
Описание
Использовал PHP в качестве основного языка для backend-разработки.
Начинал работать с версией PHP 5.4 с постепенным переходом до PHP 8.4.
Имел опыт работы с legacy-кодом, а также разработки с нуля и рефакторинга существующего кода с использованием паттернов проектирования, ООП, в том числе по технологии DDD. Работал как на чистом PHP, так и с использованием фреймворка Laravel.
Xdebug 3
- точки останова, анализ файлов
cachegrind,PhpStorm Analyze Tool; - отдельные конфиги для
Web/FPMиCLI Modeрежимов.
PHPUnit
- написание
UnitиFeatureтестов; - использование
Mock,Stubобъектов; - использование инфраструктурных фейков (
Event,Bus,Storage) вLaravel; - настройка
pre-pushхуков, конфигурация тестовой среды.
Composer
- PSR‑4 автозагрузка;
- скрипты автоматизации:
post-installpost-updatepost-autoload-dump; composer validate,composer audit.
Качество кода
- анализатор
PHP_CodeSniffer, форматтерPHP CS Fixer, средстваPhpStorm; - использование
Laravel Pintв проектахLaravel; - настройка автолинтера в
Git hooks.
Buggregator
Open-source инструмент для отладки PHP-приложений с возможностью интеграции через
Docker.
Документация и официальный сайт: https://docs.buggregator.dev ↗
Использовал для задач:
- анализ узких мест по потреблению памяти и времени выполнения;
- анализ профилей
XHProf, просмотр графа вызовов и статистики; - перехват и анализ отладочной информации: логи, дампы, исключения;
- просмотр и отладка email-писем.
PSR
Использовал PSR-стандарты в Laravel, на уровне библиотек и расширений.
| PSR | Функциональность | Где использовал |
|---|---|---|
| PSR-2, PSR-12 | Стандарты кодирования | Laravel, Laravel Pint, Code Sniffer |
| PSR-4 | Автозагрузка классов | Laravel, Composer |
| PSR-11 | Container Interface (DI) | Laravel |
| PSR-14 | Event Dispatcher | Концептуально в Laravel |
| PSR-16 | Simple Cache | Laravel |