В статье рассказывается:
- Основы PHP и Git
- Composer и базы данных
- Оптимизация рабочего процесса
- А как же html?
- Ускоряем работу проекта
- Тестирование и фреймворки
- Мониторинг и профилирование
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
В сфере ИТ множество инструментов для того, чтобы упростить работу программиста и сделать её эффективнее, а конечный продукт — производительнее. В начале освоения PHP сложно сориентироваться, в каком направлении двигаться и какие технологии изучать в первую очередь.
На помощь в таких ситуациях приходят путеводные карты (roadmaps) — наглядные последовательности, отвечающие на вопрос «что учить дальше?». В этой статье мы разберём, во что вам стоит инвестировать ваше время, чтобы стать востребованным PHP Backend разработчиком.
Основы PHP и Git
Выучить язык программирования — это только начало. Но и здесь важно сделать правильные первые шаги. Погружаясь в PHP не старайтесь постичь весь его инструментарий сразу. Сделайте фокус на том, что предстоит использовать 90% времени, и обязательно закрепляйте знания практикой.
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Скачивайте и используйте уже сегодня:
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка
Только проверенные нейросети с доступом из России и свободным использованием
ТОП-100 площадок для поиска работы от GeekBrains
Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽
После знакомства с PHP стоит обратить внимание на Git. С этим инструментом вам предстоит работать ежедневно вне зависимости от языка программирования. Git — это и инструмент командной работы, и способ сохранить промежуточный результат работы для вас самих. Подробнее о том, зачем он нужен и как его применять — в нашей статье про Git.


Composer и базы данных
Использование готовых библиотек — прекрасное решение в большинстве ситуаций. Особенно, если они заслужили доверие комьюнити. Чтобы делать это эффективно, обязательно нужно изучить Composer — менеджер пакетов, который упростит подключение и обновление внешних компонентов.


Мы добрались до баз данных. На рынке так много решений, что их сложно даже просто перечислить, ни одну не упустив. Однако есть явные лидеры, на которых я советую сделать акцент. В области реляционных баз данных — PostgresSQL, в области NoSQL — MongoDB. PDO позволит понять, как происходит взаимодействие с базой данных из PHP, а различные ORM — повысить эффективность и безопасность этого взаимодействия.
Оптимизация рабочего процесса
Скорость для программиста — один из решающих факторов. И скорость отладки имеет на нёе прямое влияние. Существуют два решения, которые избавят от необходимости расставлять по коду echo и var_dump, но я рекомендую остановиться на наиболее распространенном — xDebug. Подключить и настроить его несложно, но пользу он будет приносить постоянно.


А вот качество кода и его стиль могут казаться вещами субъективными, но командной работе без них никуда. В стандарте PSR-12 описаны рекомендации по оформлению кода. Они не единственные существующие, но определённо самые распространенные. Соблюдать их поможет CodeSniffer. А выработать привычку писать чистый код можно с помощью линтеров Psalm, Phan или PHPStan. Не нужно учить все — остановитесь на том, что больше нравится. В моём случае это Psalm.
А как же html?
Full-stack-разработчики PHP встречаются всё реже и реже. Фронты работ давно разделились, и PHP занял почетное место в backend. Поэтому для нас изучение HTML не необходимость, а лишь оптимизация. Но что действительно важно — понимать, как строить взаимодействие с frontend-частью. В этой области для нас важно знание принципов REST и JSON API.
Скачать файлБраузер заменяется на Postman — прекрасный инструмент отладки API. А привычка документировать интерфейсы с помощью OpenAPI или Blueprint избавит от постоянных расспросов от коллег и даст +10 к карме.


Ускоряем работу проекта
Высокая скорость отклика проекта — заслуга не только серверов, но и качественного кода. Иногда для её повышения достаточно сократить количество обращений в базу данных или запомнить результат тяжелых вычислений. Помочь нам в этом могут механизмы кэширования. В стандартах PSR-6 и PSR-16 вы найдете интерфейсы для их организации. А конечный механизм кэширования выбирайте в зависимости от проекта.


Другой распространенный метод ускорения проекта — выполнение обработок в фоне. Здесь есть две категории решений: планировщики задач (Crontab) — пригодятся для выполнения рассылок, пересчетов тарифов и других регулярных задач. А брокеры сообщений позволят увести тяжелые операции в фон и проконтролировать их выполнение, не замедляя ответ пользователю.
Тестирование и фреймворки
Далеко не все команды пишут тесты к коду. Это решение может приниматься на основании очень многих факторов. Но понимание того, как писать тестируемый код неоспоримо важно. Получить знания в этой области поможет практика с PHPUnit. А если хотите попробовать другие подходы — обратите внимание на Codeception.


Когда множество инструментов изучено, пришло время объединить их в целостную слаженную систему. Чтобы не изобретать велосипед, уделите внимание изучению одного из популярных фреймворков. В них вы найдете лучшие современные практики, а также приучитесь к качественной архитектуре. Выбор, предлагаю сделать из двух самых популярных вариантов:
- Symfony — строгий и требовательный, используемый чаще всего в высоко-нагруженных приложениях.
- Laravel — наиболее распространенный и востребованный на сегодняшний день.
Мониторинг и профилирование
Когда ваш проект запущен, важно контролировать его «здоровье». Справляются сервера? Нет ли DDoS-атаки? Не валится ли ошибка? Мониторинг — простой и полезный инструмент, который даст вам ответы на все эти вопросы. Начать стоит с логирования.
на курсы от GeekBrains до 16 ноября
В стандарте PSR-3 описан интерфейс, а Monolog избавит от необходимости писать свой сервис ведения журнала. Sentry поможет работать с ошибками, Grafana построит красивые графики, а Graylog или ELK упростят поиск по логам и расследование инцидентов.


Однако есть случаи, которые простым мониторингом не решить. Например, если приложение в определенных участках аномально медленно работает. Такие инциденты эффективнее всего решать с помощью инструментов профилирования. Использовать вы их будете не так часто, но важно помнить об их наличии.
ТОП-100 площадок для поиска работы от GeekBrains
20 профессий 2023 года, с доходом от 150 000 рублей
Чек-лист «Как успешно пройти собеседование»
Безусловно, мир PHP не ограничен перечисленными инструментами и, после овладения ими, предстоит узнать ещё много нового. Но помните: в начале пути стоит уделить основное внимание главным и наиболее распространенным вещам, которые вы встретите в 80-90% команд. Все перечисленные программы и подходы выбраны именно по этому критерию.






