4 Framework Laravel Final
4 Framework Laravel Final
4 Framework Laravel Final
Aplicações Web
Prof. Dr. Guilherme A. Madalozzo
Laravel
• Programadores não querem se preocupar com infraestrutura
2015
- O Laravel é framework mais
utilizado do mercado
Laravel
• O Laravel possui uma interface de linha de comando
• Artisan (artesão)
• Cadastro de hábitos
• Nome
• Descrição
• Tipo de hábitos
• Dia de início de controle
Laravel na Prática
• O sistema conterá, basicamente, três cadastros
• Cadastro de hábitos
• Cadastro de histórico
• Cadastro de usuários
• Cadastro de hábitos
• Objetivo (quantidade que deseja fazer)
• Quantidade mensal
• Quantidade semanal
• Quantidade díária
Laravel na Prática
• O sistema conterá, basicamente, três cadastros
• Cadastro de hábitos
• Cadastro de histórico
• Cadastro de usuários
• Cadastro de histórico
• Data
• Hora
• Local
Laravel na Prática
• O sistema conterá, basicamente, três cadastros
• Cadastro de hábitos
• Cadastro de histórico
• Cadastro de usuários
• Cadastro de usuários
• O Laravel possui um mecanismo de autenticação automatizado
• Veremos na sequência do desenvolvimento da aplicação
Etapa 1
Iniciando o projeto MeuHabito.Com
Entendendo a estrutura de pastas
MeuHabito.Com
• Como vimos no tutorial, criar um projeto Laravel é simples
• Utilizaremos o cmder para isso
https://github.com/guimadalozzo/meu_habito
MeuHabito.Com
• Ao criarmos um projeto, o Laravel cria toda a
arquitetura
• Autenticação
• Banco de dados
• BroadCasting (notificações RT)
• Emails
• Sessões
• Upload de arquivos
• Serviços de terceiros
MeuHabito.Com
• A pasta Database é a pasta onde criaremos as
migrations para versionamento da base de dados
• Notamos 3 parâmetros
• Categoria (running), Gênero (masculino), Tamanho (tamanho-44)
MeuHabito.Com
• A pasta Routes é a pasta onde nos preocuparemos com
as rotas da aplicação
• Sqlite
• MySQL
• PostgreSQL
Configuração da Base de Dados
• Por padrão o Laravel possibilita o uso dos seguintes
gerenciadores de banco de dados
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
Configuração da Base de Dados
• Mudaremos o .env adicionando as configurações do
banco de dados de nossa aplicação
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=meuhabito
DB_USERNAME=root
DB_PASSWORD=root1706
Etapa 3
Configurando rotas
Configuração de Rota
• O Kernel do Laravel tem a função de inicializar seus
principais componentes para podermos tratar os requests
de usuários
• Nele você pode utilizar todos os recursos que ele fornece, ou até
mesmo programar normalmente em PHP
• O model
• E a Migration (parâmetro –m)
• São arquivos para configuração de banco de dados
• Facilita a criação e alteração de campos em tabelas
Camada Model
• Analisando a árvore de diretórios, podemos notar que os
models são criados dentro de app/
• Caso o comando não funcione ou demore muito, pode-se criar
“a mão” o arquivo nesta pasta
Camada Model
• Analisando a árvore de diretórios, podemos notar que as
migrations são criados dentro de database/migrations
• As migrations, em particular, devem ser geradas pelo comando
• O comando configura o autoload para carregamento
• A TAG @yield reserva uma seção das páginas herdadas para ser
substituída pela nova seção... Vamos ver!
View
• Vamos herdar o template app no habitos.blade.php
• Agora temos que criar a rota para que isso tudo seja acessado
pelo usuário
• Adicione a rota no web.php
• Temos a rota get /habitos para a listagem
• E agora temos a rota /habitos/create para adicionar registro
Cadastro
• Criamos o método create no controller e a tela de inserção de
dados
• Agora temos que criar a rota para que isso tudo seja acessado
pelo usuário
• Adicione a rota no web.php
• Temos a rota get /habitos para a listagem
• E agora temos a rota /habitos/create para adicionar registro
Etapa 12
Vamos trabalhar com formulários no Blade
Form::
• Para trabalharmos com formulários no laravel vamos instalar o
laravelcollective/html
OBS
Vamos usar um componente específico
para data, então, por ora, vamos deixar
esta data fixa
Form::
• Vamos alterar o resource/views/habitos/create.blade.php
• Para isso devemos criar uma nova action que será responsável
por receber a requisição (request) do form
• Essa action deve persistir os dados no banco usando o model
Habito.php
Form::
• Antes de criarmos a nova action, precisamos criar uma nova rota
no routes/web.php
• Adicionaremos o index()
Controlador
• Agora, com o controlador criado, vamos criar os métodos
necessários para o CRUD
• Adicionaremos o create()
Controlador
• Agora, com o controlador criado, vamos criar os métodos
necessários para o CRUD
• Adicionaremos o store()
Controlador
• Agora, com o controlador criado, vamos criar os métodos
necessários para o CRUD
• Adicionaremos o destroy()
Controlador
• Agora, com o controlador criado, vamos criar os métodos
necessários para o CRUD
• Adicionaremos o edit()
Controlador
• Agora, com o controlador criado, vamos criar os métodos
necessários para o CRUD
• Adicionaremos o update()
Etapa 23
Criando o request para validação dos dados
Validação
• Utilizaremos o artisan para gerar a classe de Request
• Então, usando o terminal (cmder) dentro da pasta meu_habito
• Execute o comando para criação do request
php artisan make:request HistoricoRequest
Validação
• Utilizaremos o artisan para gerar a classe de Request
• Então, usando o terminal (cmder) dentro da pasta meu_habito
• Execute o comando para criação do request
php artisan make:request HistoricoRequest
Validação
• Na classe HistoricoRequest.php vamos alterar o return do
método authorize para TRUE
Validação
• Na classe HistoricoRequest.php vamos adicionar as regras no
método rules()
Validação
• Na classe HistoricoController.php devemos adicionar o uso de
dois arquivos (Model e Request)
Etapa 24
Criando a visão
Visão
• Devemos criar agora as telas do histórico
Apresenta na listagem o
Nome e grava o Id no campo
habito_id
Visão
• Vamos criar a tela de criação (create.blade.php)
• Vamos adicionar o campo de data e hora
Visão
• Vamos criar a tela de criação (create.blade.php)
• Vamos adicionar o campo de data e hora
Visão
• Vamos criar a tela de edição (edit.blade.php)
• Copie o código do create.blade.php do histórico
• Cole no arquivo edit.blade.php do histórico
• Altere o título do formulário de “Novo Historico” para “Editando Historico”
Visão
• Vamos criar a tela de edição (edit.blade.php)
• Altere o Form::Open
Visão
• Vamos criar a tela de edição (edit.blade.php)
• Por fim, substitua todos os parâmetros “NULL” pelos campos corretos de
edição