Программирование на Laravel

Виталий Басов · Backend-разработчик

Виталий Басов
Виталий Басов
Backend-разработчик · PHP / Laravel
Санкт-Петербург · Телефон
github.com/vbasov77

О себе

Backend-разработчик с опытом веб-разработки с 2013 года. Основной стек — PHP и Laravel: разрабатываю сервисы на Laravel 11 (PHP 8.2), проектирую базы данных на MySQL, интегрирую API, настраиваю аутентификацию через Sanctum и пуш-уведомления через Firebase (FCM). Дополнительно владею Java (Spring Boot) и SQL.

Выпускник GeekBrains (2022–2024), факультет «Разработчик — Web-разработка на Java», диплом с отличием.

Image

Навыки

PHP 8.2 Laravel 11 Sanctum Eloquent Blade MySQL PostgreSQL REST API Firebase (FCM) Git Docker Java · Spring Boot JavaScript — базовый

Некоторые Проекты

Laravel 10 · PHP 8.1 · MySQL
FeastBoom — рекламная площадка для банкетных залов

Площадка для аренды банкетных залов с каталогом исполнителей: фотографы, видеооператоры, ведущие, оформление залов и др. REST API для Android-приложения: чаты и сообщения, push-уведомления через Firebase Cloud Messaging, авторизация через Sanctum. Спроектировал таблицы пользователей, заказов и пакетов исполнителей. Настроил раздельные каналы логирования info/error. Сайт — на Blade с SEO: sitemap, метатеги. FEAST-BOOM.RU GITHUB

Laravel 7 · Blade · MySQL
POZITIVSAD — интернет-магазин растений

Магазин селекционных растений для частного заказчика: каталог с категориями (редкие коллекционные растения, кактусы и суккуленты, пионы, сибирские сциллы собственной селекции), корзина и оформление заказа, страница контактов. Laravel 7, Blade, MySQL. Сайт работает: pozitivsad.ru pozitivsad.ru

Java · Spring Boot · WebSocket · MySQL
Mieten — площадка аренды недвижимости

Дипломный проект (защищён с отличием): сервис аренды и бронирования жилья на Java (Spring Boot). Реализовал регистрацию и авторизацию пользователей, CRUD объектов недвижимости, мессенджер на WebSocket с нуля — переписка с владельцем в реальном времени и счётчик непрочитанных сообщений. Массовая загрузка фотографий на сервер через клиентские JS-библиотеки. Код открыт: github.com/vbasov77/mietenJ17

Курсы GeekBrains

Образование

2022 — март 2024
GeekBrains — диплом с отличием

Факультет «Разработчик — Web-разработка на Java». Попутно: Git, Docker, MySQL, PostgreSQL.

с 2017
Курсы по PHP

С тех пор основной рабочий язык — PHP, фреймворк — Laravel.

Заметки

Инкапсуляция в PHP: почему состояние класса должно быть закрытым
Инкапсуляция в PHP простыми словами: модификаторы public, protected, private, геттеры и сеттеры, инварианты класса. Разбираем на примере банковского счёта и показываем, к каким багам приводит «открытое» состояние.
PHP и ООП на практике: от четырёх китов до грабель в проде
PHP и ООП на практике: классы, инкапсуляция, наследование, полиморфизм, строгое сравнение, интерфейсы, трейты и позднее статическое связывание. С примерами кода и типовыми ошибками, которые всплывают в реальных проектах.
Laravel: Dependency Injection — перестаём создавать объекты руками
Что такое Dependency Injection простыми словами: зачем передавать зависимости через конструктор, как работает сервис-контейнер Laravel, типовые ошибки и шпаргалка для собеседования.
GitHub + сервер: связка за один вечер
Код на локалке, сайт на сервере — и рано или поздно они расходятся. Рассказываю, как настроить деплой через GitHub так, чтобы обновление продакшена занимало одну команду: ssh-ключ, git init прямо в рабочей папке и правильный порядок действий.
Коллекции Laravel: groupBy() и keyBy() — превращаем плоский список в структуру одной строкой
Очередная заметка из серии о коллекциях. map(), filter(), pluck(), lazy() — уже разобрали. Сегодня два метода, которые заменяют целые циклы с накоплением в промежуточные массивы: groupBy() и keyBy(). Если вы хоть раз писали foreach с $result[$item->chat_id][] = $item внутри — эта заметка для вас.
Все заметки