Skip to content

Dorsone/laravel

Repository files navigation

Локальная разработка проекта

Для локального развёртывания проекта используется Laravel Sail, поэтому рекомендуется прочитать его документацию и sail --help, где описаны команды, которые отсутствуют в документации. Так как скрипт sail определяет свои переменные среды, которые необходимы для сборки образов и запуска контейнера, все действия рекомендуется совершать через него, а не docker compose.

Установка зависимостей

Для первоначально установки зависимостей (когда ещё нет vendor) используется следующая команда:

docker run --rm \
    -u "$(id -u):$(id -g)" \
    -v "$(pwd):/var/www/html" \
    -w /var/www/html \
    laravelsail/php84-composer:latest \
    composer install --ignore-platform-reqs

После этого для работы с composer можно будет использовать команды sail.

Запуск и взаимодействие с проектом

После выполнения выше описанных действий, с проектом можно будет взаимодействовать как описано в документации Laravel Sail.

Возможные проблемы

Порты не доступны

При запуске проекта, docker может выдать следующую ошибку:

Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:9000 -> 0.0.0.0:0: listen tcp 0.0.0.0:9000: bind: address already in use

Это происходит, когда порт, который используется для доступа к сервису, уже занят другим процессом. Чтобы поправить её, можно указать свой порт для доступа к сервису. Это делается через переменные среды, *_PORT, которые можно найти в docker-compose.yml, и указать свои значения в файле .env.

Помимо этого, можно найти, какая программа занимает нужный порт, и отключить её или поменять её порт. Это делается следующей командой:

sudo lsof -P -i TCP@0.0.0.0:9000

Где TCP, 0.0.0.0 и 9000 берутся из сообщения об ошибки, указанного выше.

Одна из программ, которая может часто занимать нужный порт, это PHPStorm. Он слушает на порту 9000 для подключения отладки через xdebug. Так как xdebug поменял порт по умолчанию, и теперь использует 9003, порт в PHPStorm можно поменять. Сделать это можно в настройках PHP -> Debug -> Debug port.

Форматирование кода

Для форматирования кода используется Laravel Pint, рекомендуется прочитать его документацию и ознакомиться со списком аргументов и флагов.

Форматирование кода обязательно нужно выполнять перед коммитом, т.к. в CI настроена проверка (команда sail composer format), которая не позволяет задеплоить код, который отформатирован не по стандарту.

Для удобства использования, в PHPStorm можно настроить Inspection, чтобы он подсвечивал проблемы оформления, и выполнял форматирование при помощи Laravel Pint. Как это делается можно узнать в документации.

Проверка качества кода

Для проверки качества кода используется Larastan, рекомендуется прочитать его документацию и ознакомиться со списком аргументов и флагов.

Проверка качества кода обязательно нужно выполнять перед коммитом, т.к. в CI настроена проверка (команда sail composer lint), которая не позволяет задеплоить код, который не соответствует стандарту.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages