Projeto de Estágio Doutbox: tutorial laravel pt. 5
Neste artigo, explico como funciona o estágio aqui na Doutbox e, além disso, compartilho a quinta parte do meu projeto como estagiário. Confira!
Se você ainda não leu a Introdução do meu projeto de estágio, clique aqui para ler a parte 1.
3.5 Primeira Aplicação
Tarefa: Desenvolver e descrever o desenvolvimento da aplicação do tutorial
Primeiro criei o projeto com o comando composer create-project –prefer-dist laravel/-laravel car-project, que criou o projeto car-project no diretório especificado. depois criei o model de car com o comando php artisan make:model Car –migration, que até então não contém código.
Figura 24: model de carro
O laravel vai assumir que esse model se associa com a tabela do banco de dados cars, e já vai criar a migration para tal, depois basta atualizar o código dentro da migration pra criar a tabela da forma que for planejada.
Figura 25: controller de cars
Ao rodar o comando php artisan migrate, a tabela será criada no banco de dados especificado no arquivo .env.
Depois, será criado o controller com o comando php artisan make:controller CarController
Figura 26: migration de cars
Dentro do arquivo app/Http/routes.php deve ser criada a rota para cars (no laravel 5), como eu utilizei o laravel 7 o caminho passa a ser routes/web.php
Figura 27: rota para cars
Depois deve-se adicionar um controller para as telas dentro de view, dentro desses controllers será definido como será lidado com as requests.
Figura 28: função do controller para mostrar os cars
Depois, criando o caminho views/cars, onde serão colocadas as views relacionadas a cars, é criado o arquivo views/cars/show.blade.php que terá o papel de mostrar os resultados relacionados a carros, também pode-se criar telas para criação,atualização,e exclusão de carros.
Figura 29: tela que mostra os cars
3.6 Primeiro CRUD
Tarefa: Desenvolver e descrever o desenvolvimento da aplicação do tutorial com o projeto base do laravel criado, foi rodado o código php artisan make:migration
createsharkst abl−table=shark−createparacriaramigrationdesharksepassadooseguinte
Figura 30: arquivo de migration de sharks
E foi foi feita a migration com o comando php artisan migrate; Depois foi criado o model para sharks com o comando: php artisan make:model shark;
Após a criação do model, foi criado o controller para sharks com o comando php artisan make:controller sharkController –resource;
Depois do controller criado, dentro do arquivo de routes, foi adicionado a rota para sharks:
Figura 31: arquivo de route com a rota para sharks
Depois criada a estrutura de crud para sharks:
Figura 32: arquivos do CRUD para sharks
Depois dentro de controller, foi criado o controller para o index("página inicial") para sharks:
Figura 33: controller para o index
E adicionado o arquivo com a tela de index no projeto:
Figura 34: arquivo para a tela de index
Com o index criado, o próximo passo é o create, começando pelo controller:
Figura 35: controller para o create
E também a tela para criação de sharks:
Figura 36: arquivo para a tela de create
Dentro do create é necessário o armazenamento do que foi colocado no formulário, que usa a função store do controller:
Figura 37: controller para o armazenamento do create
Depois temos a tela para mostrar o shark que usuário escolheu, o controller para tela de show:
Figura 38: controller para mostrar um shark
A tela de show:
Figura 39: tela que mostra os dados do shark
Agora a tela de edição dos sharks, começando pelo controller:
Figura 40: controller para a tela de edição
A tela para edição de sharks:
Figura 41: arquivo para a tela de edição
Depois disso é necessário criar o controller para a atualização de sharks:
Figura 42: controller para atualização de sharks
Agora falta apenas a opção de deletar um shark, primeiro o controller para que isso seja possível:
Figura 43: controller para deletar sharks
Dentro do formulário de index é colocado um botão para a exclusão de shark:
Figura 44: controller para deletar sharks
Clique aqui para ler a última parte e finalizar a leitura do meu projeto de estágio!
Fontes: www.selftaughtcoders.com / www.scotch.io