Desenvolvimento de Sistemas para Automação Comercial

Voltar

Laravel - 07/01/2026



Criar ambiente de desenvolvimento WSL:

  • Extensões VS Code:
  • Criar Projeto:

    O Docker é um gerenciador de containers, ele tem um plugin chamado compose, mas esse plugin não será usado agora, oque será usado é um container chamado composer que criará a estrutura do Laravel que é um aplicativo em PHP, por isso ao se falar em app está se falando do Laravel.

    Então o Docker baixará e executará um container chamado compose que criará a estrutura do Laravel pelo comando "composer create-project laravel/laravel .".

    Obs. Quando o Projeto já existir o composer do php precisará ser executado novamente para instalar algumas dependencias do projeto que não são enviadas ao GitHub.

  • Configuração:

    Depois de criada a estrutura do Laravel pelo composer do PHP, além de Instalar os requerimentos contidos no arquivo compose.json, o comando executado acima também espelha os aquivos de dentro do container do PHP para a pasta atual do projeto, pois é assim que é uma das formas de interagir com as configurações internas dos containers, por isso já se pode criar também o diretório para a configurações do php.ini.

    Conteúdo:

  • docker-compose.yml

    Configurar o docker-compose.yml para gerenciar a criação e configuração do container do PHP onde será definida o vínculo de pastas e arquivos externos com os internos, redes virtuais para comunicação com servidor e banco de dados, etc.

    Obs. A identação é fundamental definida a cada 2 espaços e não pode ser usado TAB.

  • Dockerfile

    O Dockerfile tem configurações adicionais e comandos que serão executados no UP do container.

    Tambérm instalará os pacotes necessários e definirá privilérios de usuárias para evitar que os arquivos criados posteriormente sejam criados como root.

  • .env

    Aqui é definida as configuraçãos de conexão, por padrão ele não vai para o git, por isso deve ser recriado e reconfigurado quando passar do ambiente dev para o prod.

    Conteúdo para alterar:

  • Fortify

    Para login, e autenticações de usuário será usado o Fortify.

    Após executar esses comandos é necessário registrar o fortify em bootstrap/providers.php:

    Se ocorrer algum erro de config quebrada uma reinstalação do composer do PHP pode resolver.


Criar banco de dados:

  • No diretório do servidor acesse o container do postgres, crie as redes virtuais para comunicação se ainda não foram criadas e crie o banco de dados, usuário e senha:

    Ou caso já tenha um banco de dados basta realizar o restore:


Iniciando aplicativo pela primeira vez:

  • Agora subiremos o container, entraremos dentro dele e executaremos seu bash para configurar a aplicação via php artisan.

    Veja mais comandos Docker AQUI

    .
  • Criar chave para criptografia, criar tabelas base do sistema no banco de dados alimentar com dados pré-definidos e prepara o sistema para o uso de APIs.


Comandos php artisan:

  • Caso algum arquivo criado e espelhado venha como dono root, execute o comando a seguir:

  • Criar um Controller:

  • Criar um Model:

  • Criar um Migration:

  • Criar um Seeder:

  • Criar Tabelas dos Migrations e adicionar os dados dos Seeders:

  • Apenas adicinar os dados dos Seeders quando as tabelas jé existirem:

  • Recriar todas as tabelas e iniciar dados básicos:

  • Limpesa quando algo está bugado:

  • Gerar Cache para melhor velocidade em produção:

  • Criar chave para cripitografias funcionarem corretamente:

  • Criar link simbólico:

    Expor o diretório storage/app/public no diretório public/storage, dessa forma os arquivos podem ser acessados de forma pública pelo browser.


GitHub:

  • Adicione as restrições no .gitignore para evitar problemas:

  • Configurar o GitHub:

Passando de DEV para PROD:

  • GitHub

    No servidor Debian de produção após instalar e configurar o git e o docker, crie o diretório de projeto baixe o projeto do GitHub e instale o composer do php através do docker para criar o vendor dentre outras coisas:

    Crie as redes virtuais, o arquivo .env, e a chave de criptografia.


Atualizando o Sistema:

  • Sempre que houver alterações no projeto no github execute: