O projeto se utiliza de contêineres Docker, através do pacote Laravel Sail para facilitar a configuração do ambiente de desenvolvimento. Portanto, é necessário que já possua o Docker e o Docker Compose instalados na máquina.
Você é livre para rodar o projeto em ambiente local mas esse texto não tratará essa situação.
Links para instalação e configuração de Docker:
- Faça um clone do projeto para sua máquina local
- Crie um arquivo
.env
, recomendamos usar.env-example
como base - Adicione ou altere as chaves conforme sua necessidade
- acesse a pasta do projeto via console (terminal/PowerShell/CMD)
- execute o comando:
docker run --rm \
-u "$(id -u):$(id -g)" \
-v "$(pwd):/var/www/html" \
-w /var/www/html \
laravelsail/php82-composer:latest \
composer install --ignore-platform-reqs
- Após finalizado processamento, execute o comando
./sail up -d
O primeiro comando realiza a instalação dos pacotes via composer especificados no arquivo composer.json
e uma vez que a instalação termina, a pasta vendor passa a ficar disponível no projeto. O comando seguinte levanta os contêineres baseado na descrição de serviços feita no arquivo docker-compose.yml
.
Por padrão, não é necessária nenhuma configuração no arquivo .env do projeto. Caso seja necessária alguma edição na configuração padrão (relacionado a binding ports ou credenciais de banco de dados), basta editar o arquivo .env.
Uma vez que o projeto está rodando em cima de contêineres Docker, é clara a situação de que a máquina local não possui nenhum dos requisitos necessários para se trabalhar no projeto, assim, comandos como php artisan
, composer
ou npm
não funcionarão localmente. Para executar comandos dentro de um dos contêineres do projeto, um php artisan route:list
por exemplo, é preciso utilizar o docker para tal, como por exemplo:
docker-compose exec \ #execução de um comando num contêiner existente
-u sail \ # especifica o nome do usuário a ser utilizado dentro do contêiner
projeto_laravel.test \ # especifica qual contêiner receberá o comando
php artisan route:list # qual o comando a ser executado
A execução, dessa forma, se torna muito verbosa e trabalhosa, podendo levar a potenciais erros de execução. Assim, o Laravel Sail oferece um script chamado sail
e localizado em vendor/bin/. Esse script permite que tais comandos sejam executados através de aliases para que o fluxo de desenvolvimento seja mais natural e menos complexo. Assim, para se executar o mesmo comando php artisan route:list
com o script sail
ficaria:
./vendor/bin/sail artisan route:list
#ou
./vendor/bin/sail art route:list
Para conhecer os comandos disponíveis pelo script sail, execute ./vendor/bin/sail -h
para obter a listagem completa das opções com descrição.
Migrations são uma maneira de versionar as tabelas de sua base de dados. Para estruturar o seu banco de dados
-
Execute
./vendor/bin/sail art migrate
para montar sua adicionar as tabelas ao seu banco -
Execute
./vendor/bin/sail art db:seed
para popular o seu banco com dados fictícios