SlideShare uma empresa Scribd logo
Thyago Maia Tavares de Farias
 As configurações de
banco de dados no
Laravel ficam
armazenadas na pasta
config, arquivo
database.php;
 Como exemplo, edite o
vetor connections do
arquivo database.php com
as configurações
apresentadas ao lado
Crie a base de dados
“laravel” a partir do
phpmyadmin;
Abra o arquivo .env
localizado na pasta raiz
do projeto Laravel e
edite as configurações
padrão de conexão;
Funcionalidade nativa do Laravel;
O primeiro framework PHP a se preocupar com isso;
Algo que era disponível apenas no Ruby!
Permite a criação de classes que permitem inicializar
(subir) bancos de dados de aplicações e remover
informações de bancos quando necessário;
Facilita a sincronização de dados em banco;
Exemplo: Vá no seu terminal, acesse a partir dele a pasta
C:xampphtdocslaravel e digite o comando:
php artisan make:migration tabela_livro
Uma nova migration com o nome xxxx_tabela_livro será
criada em database/migrations/;
 Continuando o exemplo, na migration tabela_livro, edite so métodos up
e down:
public function up() {
Schema::create(‘livro’, function(Blueprint $tabela) {
$tabela->integer(‘id’, true);
$tabela->string(‘titulo’, 100);
$tabela->text(‘descricao’);
$tabela->date(‘data_publicacao’);
});
}
Continuando o exemplo, na migration
tabela_livro, edite so métodos up e down:
public function down() {
Schema::drop(‘livro’);
}
Exemplo: Vá no seu terminal, acesse a partir dele a pasta
C:xampphtdocslaravel e digite o comando:
php artisan migrate
Quando o comando for concluído, abra o phpmyadmin,
banco laravel e verifique se a tabela livros foi criada com
sucesso;
Exemplo: Para executar o método down da migration, vá
no seu terminal, acesse a partir dele a pasta
C:xampphtdocslaravel e digite o comando:
php artisan migrate:reset
Quando o comando for concluído, abra o phpmyadmin,
banco laravel e verifique se a tabela livros foi excluída com
sucesso;
Chegou a hora de criar nossas classes Model!!
O Laravel trabalha com ORM (Object Relacional
Mapping), que se encarrega de abstrair a conversão
das estruturas de tabelas de BD e instruções SQL
para o mundo da orientação a objetos;
O Eloquent implementa o padrão Active Record,
em que cada tabela deve possuir uma classe
correspondente (um Model MVC);
 Exemplo: Vá para a pasta app do projeto laravel e crie a pasta
Models (infelizmente o Laravel não cria essa pasta por padrão);
 Vá no seu terminal, acesse a partir dele a pasta
C:xampphtdocslaravel e digite o comando:
php artisan make:model Models/LivroModel
 Uma nova model com o nome LivroModel será criada em
app/Models/;
 Continuando o exemplo, edite a Model LivroModel:
Class LivroModel extends Model {
protected $table = ‘livro’;
protected $primaryKey = ‘id’;
protected $fillable = [
‘titulo’, ‘descricao’, ‘data_publicacao’
];
}
Para testar nossas consultas, acesse o
arquivo de rotas e registre a seguinte rota:
Route::resource(‘livro', ‘LivroController’);
Agora, vá no seu terminal, acesse a partir dele a pasta
C:xampphtdocslaravel e digite o comando:
php artisan make:controller LivroController
Uma nova controller com o nome LivroController será
criada em app/Http/Controllers/;
Continuando o exemplo, inclua uma
importação na classe UsuariosController:
use AppModelsLivroModel;
Em seguida, edite o método show da classe
UsuariosController:
public function show($id) {
return LivroModel::all();
}
Por fim, abra o phpmyadmin, acesse a tabela
livros, insira alguns livros (clicando em
Insere), abra o navegador e acesse
http://laravel.dev/livro/show
Um select * from livros será executado
automaticamente e apresentado na tela!
Exercício valendo pontos para a nota final da disciplina
 Edite o exemplo anterior e faça com que o projeto Laravel
também permita inserir, editar e excluir livros, além de exibir
informações de um livro específico;
 A sintaxe para os métodos de Model para as devidas ações
CRUD estão disponíveis em
https://laravel.com/docs/5.1/eloquent
 Faça os registros de rota e a criação de Views necessárias para
cada operação;
 Observação:
 Para criar um método que possa capturar os inputs do formulário,
utilize um objeto da classe Request como parâmetro do método.
Exemplo:
public function postNome(Request $request) {
printf(“Nome: %s", ($request->input('nome')));
}
 Lembre-se também que cada método CRUD criado em um controller
de recurso pode ser executado automaticamente, dependendo da
requisição HTTP realizada e do formato da URI:
Tipo URI Ação
GET /livro index
GET /livro/create create
POST /livro store
GET /livro/{pagina} show
GET /livro/{pagina}/edit edit
PUT/PATCH /livro/{pagina} update
DELETE /livro/{pagina} destroy
 Lembre-se também que cada método CRUD criado em um controller de recurso
tem uma funcionalidade específica sugerida:
 index – Método que chamará uma view para a exibição de dados;
 create – Método que chamará uma view para o formulário de inserção de dados;
 store – Método que executará a inserção de dados a partir de um Model;
 show - Método que chamará uma view para a exibição de um recurso específico;
 edit - Método que chamará uma view para o formulário de edição de dados;
 update - Método que executará a edição de dados a partir de um Model;
 destroy – Método que executará a exclusão de dados a partir de um Model;

Mais conteúdo relacionado

Mais procurados

Introdução ao Ruby On Rails
Introdução ao Ruby On RailsIntrodução ao Ruby On Rails
Introdução ao Ruby On Rails
Milton Moura
 
Criando e consumindo Web Services (REST) com o CakePHP
Criando e consumindo Web Services (REST) com o CakePHPCriando e consumindo Web Services (REST) com o CakePHP
Criando e consumindo Web Services (REST) com o CakePHP
2km interativa!
 
Workshop Ruby on Rails dia 2 ruby-pt
Workshop Ruby on Rails dia 2  ruby-ptWorkshop Ruby on Rails dia 2  ruby-pt
Workshop Ruby on Rails dia 2 ruby-pt
Pedro Sousa
 
Introducao ao Ruby On Rails
Introducao ao Ruby On RailsIntroducao ao Ruby On Rails
Introducao ao Ruby On Rails
Andre Ferraro
 
JasperReports Tecnicas de geracao_de_relatorios1
JasperReports  Tecnicas de geracao_de_relatorios1JasperReports  Tecnicas de geracao_de_relatorios1
JasperReports Tecnicas de geracao_de_relatorios1
Sliedesharessbarbosa
 
Engenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galoEngenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galo
GuilhermePetrosky
 
Introdução Ruby 1.8.7 + Rails 3
Introdução Ruby 1.8.7 + Rails 3Introdução Ruby 1.8.7 + Rails 3
Introdução Ruby 1.8.7 + Rails 3
Régis Eduardo Weizenmann Gregol
 
RubyConfBr 2015 - Rails & Javascript: faça isso direito
RubyConfBr 2015 - Rails & Javascript: faça isso direitoRubyConfBr 2015 - Rails & Javascript: faça isso direito
RubyConfBr 2015 - Rails & Javascript: faça isso direito
Cezinha Anjos
 
Rails na pratica
Rails na praticaRails na pratica
Rails na pratica
Túlio Ornelas
 
Curso de Ruby on Rails
Curso de Ruby on RailsCurso de Ruby on Rails
Curso de Ruby on Rails
CJR, UnB
 
Python e Django
Python e DjangoPython e Django
Python e Django
pugpe
 
Introdução à programação para web com Java - Módulo 03: Conceitos básicos de...
Introdução à programação para web com Java -  Módulo 03: Conceitos básicos de...Introdução à programação para web com Java -  Módulo 03: Conceitos básicos de...
Introdução à programação para web com Java - Módulo 03: Conceitos básicos de...
Professor Samuel Ribeiro
 
JSPs Introdução Parte 1
JSPs Introdução Parte 1JSPs Introdução Parte 1
JSPs Introdução Parte 1
Elaine Cecília Gatto
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
Glaucio Scheibel
 
Django Módulo Básico Parte II
Django Módulo Básico Parte IIDjango Módulo Básico Parte II
Django Módulo Básico Parte II
antonio sérgio nogueira
 
Criando uma aplicação simples com ruby on rails
Criando uma aplicação simples com ruby on railsCriando uma aplicação simples com ruby on rails
Criando uma aplicação simples com ruby on rails
COTIC-PROEG (UFPA)
 
Curso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service RESTCurso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service REST
Mario Sergio
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web Application
Mario Sergio
 
Introdução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSPIntrodução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSP
Manoel Afonso
 

Mais procurados (19)

Introdução ao Ruby On Rails
Introdução ao Ruby On RailsIntrodução ao Ruby On Rails
Introdução ao Ruby On Rails
 
Criando e consumindo Web Services (REST) com o CakePHP
Criando e consumindo Web Services (REST) com o CakePHPCriando e consumindo Web Services (REST) com o CakePHP
Criando e consumindo Web Services (REST) com o CakePHP
 
Workshop Ruby on Rails dia 2 ruby-pt
Workshop Ruby on Rails dia 2  ruby-ptWorkshop Ruby on Rails dia 2  ruby-pt
Workshop Ruby on Rails dia 2 ruby-pt
 
Introducao ao Ruby On Rails
Introducao ao Ruby On RailsIntroducao ao Ruby On Rails
Introducao ao Ruby On Rails
 
JasperReports Tecnicas de geracao_de_relatorios1
JasperReports  Tecnicas de geracao_de_relatorios1JasperReports  Tecnicas de geracao_de_relatorios1
JasperReports Tecnicas de geracao_de_relatorios1
 
Engenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galoEngenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galo
 
Introdução Ruby 1.8.7 + Rails 3
Introdução Ruby 1.8.7 + Rails 3Introdução Ruby 1.8.7 + Rails 3
Introdução Ruby 1.8.7 + Rails 3
 
RubyConfBr 2015 - Rails & Javascript: faça isso direito
RubyConfBr 2015 - Rails & Javascript: faça isso direitoRubyConfBr 2015 - Rails & Javascript: faça isso direito
RubyConfBr 2015 - Rails & Javascript: faça isso direito
 
Rails na pratica
Rails na praticaRails na pratica
Rails na pratica
 
Curso de Ruby on Rails
Curso de Ruby on RailsCurso de Ruby on Rails
Curso de Ruby on Rails
 
Python e Django
Python e DjangoPython e Django
Python e Django
 
Introdução à programação para web com Java - Módulo 03: Conceitos básicos de...
Introdução à programação para web com Java -  Módulo 03: Conceitos básicos de...Introdução à programação para web com Java -  Módulo 03: Conceitos básicos de...
Introdução à programação para web com Java - Módulo 03: Conceitos básicos de...
 
JSPs Introdução Parte 1
JSPs Introdução Parte 1JSPs Introdução Parte 1
JSPs Introdução Parte 1
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
Django Módulo Básico Parte II
Django Módulo Básico Parte IIDjango Módulo Básico Parte II
Django Módulo Básico Parte II
 
Criando uma aplicação simples com ruby on rails
Criando uma aplicação simples com ruby on railsCriando uma aplicação simples com ruby on rails
Criando uma aplicação simples com ruby on rails
 
Curso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service RESTCurso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service REST
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web Application
 
Introdução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSPIntrodução ao Desenvolvimento de aplicações WEB com JSP
Introdução ao Desenvolvimento de aplicações WEB com JSP
 

Semelhante a Desenvolvimento de sistemas web com PHP Frameworks - Aula 4

3260 php truquesmagicos %281%29
3260 php truquesmagicos %281%293260 php truquesmagicos %281%29
3260 php truquesmagicos %281%29
Juliana Nascimento
 
3260 php truquesmagicos
3260 php truquesmagicos3260 php truquesmagicos
3260 php truquesmagicos
Juliana Nascimento
 
Ruby & Rails
Ruby & RailsRuby & Rails
Ruby & Rails
Sergio Henrique
 
Oficial
OficialOficial
hibernate annotation
hibernate annotationhibernate annotation
hibernate annotation
eduardo dias
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojo
fabioginzel
 
Java13
Java13Java13
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.
Vinícius de Paula
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHP
Paulo Dayvson
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Arlindo Santos
 
Banco de dadados MySQL com PHP
Banco de dadados MySQL com PHPBanco de dadados MySQL com PHP
Banco de dadados MySQL com PHP
Leonardo Soares
 
Apresentação faef
Apresentação faefApresentação faef
Apresentação faef
Lucas Simões Maistro
 
Crud
CrudCrud
Cake Php
Cake PhpCake Php
Cake Php
Laura Lopes
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-end
Giovanny Valente
 
Palestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopPalestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl Workshop
Alexei Znamensky
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01
joaocarlobarros
 
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
Dsi   015 - poo e php - conexão com bancos de dados usando pdoDsi   015 - poo e php - conexão com bancos de dados usando pdo
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
Jorge Luís Gregório
 
40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetos
Francisco Santos
 
php orientado_a_objetos
php orientado_a_objetosphp orientado_a_objetos
php orientado_a_objetos
Fer Nando
 

Semelhante a Desenvolvimento de sistemas web com PHP Frameworks - Aula 4 (20)

3260 php truquesmagicos %281%29
3260 php truquesmagicos %281%293260 php truquesmagicos %281%29
3260 php truquesmagicos %281%29
 
3260 php truquesmagicos
3260 php truquesmagicos3260 php truquesmagicos
3260 php truquesmagicos
 
Ruby & Rails
Ruby & RailsRuby & Rails
Ruby & Rails
 
Oficial
OficialOficial
Oficial
 
hibernate annotation
hibernate annotationhibernate annotation
hibernate annotation
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojo
 
Java13
Java13Java13
Java13
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHP
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
Banco de dadados MySQL com PHP
Banco de dadados MySQL com PHPBanco de dadados MySQL com PHP
Banco de dadados MySQL com PHP
 
Apresentação faef
Apresentação faefApresentação faef
Apresentação faef
 
Crud
CrudCrud
Crud
 
Cake Php
Cake PhpCake Php
Cake Php
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-end
 
Palestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopPalestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl Workshop
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01
 
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
Dsi   015 - poo e php - conexão com bancos de dados usando pdoDsi   015 - poo e php - conexão com bancos de dados usando pdo
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
 
40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetos
 
php orientado_a_objetos
php orientado_a_objetosphp orientado_a_objetos
php orientado_a_objetos
 

Mais de Thyago Maia

Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1
Thyago Maia
 
Programação Dinâmica para Web - Aula 1
Programação Dinâmica para Web - Aula 1Programação Dinâmica para Web - Aula 1
Programação Dinâmica para Web - Aula 1
Thyago Maia
 
Metodologia e Linguagem de Programação Avançada - Aula 1
Metodologia e Linguagem de Programação Avançada - Aula 1Metodologia e Linguagem de Programação Avançada - Aula 1
Metodologia e Linguagem de Programação Avançada - Aula 1
Thyago Maia
 
Desenvolvimento Web com PHP - Aula 3
Desenvolvimento Web com PHP - Aula 3Desenvolvimento Web com PHP - Aula 3
Desenvolvimento Web com PHP - Aula 3
Thyago Maia
 
Desenvolvimento Web com PHP - Aula 2
Desenvolvimento Web com PHP - Aula 2Desenvolvimento Web com PHP - Aula 2
Desenvolvimento Web com PHP - Aula 2
Thyago Maia
 
Desenvolvimento Web com PHP - Aula 1
Desenvolvimento Web com PHP - Aula 1Desenvolvimento Web com PHP - Aula 1
Desenvolvimento Web com PHP - Aula 1
Thyago Maia
 
Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3
Thyago Maia
 
Fundamentos da Programação PHP OO - Aula 2
Fundamentos da Programação PHP OO - Aula 2Fundamentos da Programação PHP OO - Aula 2
Fundamentos da Programação PHP OO - Aula 2
Thyago Maia
 
Fundamentos da Programação PHP OO - Aula 1
Fundamentos da Programação PHP OO - Aula 1Fundamentos da Programação PHP OO - Aula 1
Fundamentos da Programação PHP OO - Aula 1
Thyago Maia
 
Mantenha sua Privacidade e Segurança na Web com o Tails
Mantenha sua Privacidade e Segurança na Web com o TailsMantenha sua Privacidade e Segurança na Web com o Tails
Mantenha sua Privacidade e Segurança na Web com o Tails
Thyago Maia
 

Mais de Thyago Maia (10)

Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1Metodologia e Linguagem de Programação - Aula 1
Metodologia e Linguagem de Programação - Aula 1
 
Programação Dinâmica para Web - Aula 1
Programação Dinâmica para Web - Aula 1Programação Dinâmica para Web - Aula 1
Programação Dinâmica para Web - Aula 1
 
Metodologia e Linguagem de Programação Avançada - Aula 1
Metodologia e Linguagem de Programação Avançada - Aula 1Metodologia e Linguagem de Programação Avançada - Aula 1
Metodologia e Linguagem de Programação Avançada - Aula 1
 
Desenvolvimento Web com PHP - Aula 3
Desenvolvimento Web com PHP - Aula 3Desenvolvimento Web com PHP - Aula 3
Desenvolvimento Web com PHP - Aula 3
 
Desenvolvimento Web com PHP - Aula 2
Desenvolvimento Web com PHP - Aula 2Desenvolvimento Web com PHP - Aula 2
Desenvolvimento Web com PHP - Aula 2
 
Desenvolvimento Web com PHP - Aula 1
Desenvolvimento Web com PHP - Aula 1Desenvolvimento Web com PHP - Aula 1
Desenvolvimento Web com PHP - Aula 1
 
Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3
 
Fundamentos da Programação PHP OO - Aula 2
Fundamentos da Programação PHP OO - Aula 2Fundamentos da Programação PHP OO - Aula 2
Fundamentos da Programação PHP OO - Aula 2
 
Fundamentos da Programação PHP OO - Aula 1
Fundamentos da Programação PHP OO - Aula 1Fundamentos da Programação PHP OO - Aula 1
Fundamentos da Programação PHP OO - Aula 1
 
Mantenha sua Privacidade e Segurança na Web com o Tails
Mantenha sua Privacidade e Segurança na Web com o TailsMantenha sua Privacidade e Segurança na Web com o Tails
Mantenha sua Privacidade e Segurança na Web com o Tails
 

Último

Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Centro Jacques Delors
 
Rimas, Luís Vaz de Camões. pptx
Rimas, Luís Vaz de Camões.          pptxRimas, Luís Vaz de Camões.          pptx
Rimas, Luís Vaz de Camões. pptx
TomasSousa7
 
O que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdfO que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdf
Pastor Robson Colaço
 
05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx
ValdineyRodriguesBez1
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
Manuais Formação
 
“A classe operária vai ao paraíso os modos de produzir e trabalhar ao longo ...
“A classe operária vai ao paraíso  os modos de produzir e trabalhar ao longo ...“A classe operária vai ao paraíso  os modos de produzir e trabalhar ao longo ...
“A classe operária vai ao paraíso os modos de produzir e trabalhar ao longo ...
AdrianoMontagna1
 
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxSlides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
LuizHenriquedeAlmeid6
 
Atividade letra da música - Espalhe Amor, Anavitória.
Atividade letra da música - Espalhe  Amor, Anavitória.Atividade letra da música - Espalhe  Amor, Anavitória.
Atividade letra da música - Espalhe Amor, Anavitória.
Mary Alvarenga
 
Funções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prismaFunções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prisma
djincognito
 
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
MessiasMarianoG
 
Caça-palavras - ortografia S, SS, X, C e Z
Caça-palavras - ortografia  S, SS, X, C e ZCaça-palavras - ortografia  S, SS, X, C e Z
Caça-palavras - ortografia S, SS, X, C e Z
Mary Alvarenga
 
Redação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptxRedação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptx
DECIOMAURINARAMOS
 
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
LucianaCristina58
 
educação inclusiva na atualidade como ela se estabelece atualmente
educação inclusiva na atualidade como ela se estabelece atualmenteeducação inclusiva na atualidade como ela se estabelece atualmente
educação inclusiva na atualidade como ela se estabelece atualmente
DeuzinhaAzevedo
 
Vogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantilVogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantil
mamaeieby
 
UFCD_5420_Integração de sistemas de informação - conceitos_índice.pdf
UFCD_5420_Integração de sistemas de informação - conceitos_índice.pdfUFCD_5420_Integração de sistemas de informação - conceitos_índice.pdf
UFCD_5420_Integração de sistemas de informação - conceitos_índice.pdf
Manuais Formação
 
Sócrates e os sofistas - apresentação de slides
Sócrates e os sofistas - apresentação de slidesSócrates e os sofistas - apresentação de slides
Sócrates e os sofistas - apresentação de slides
jbellas2
 
Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
Mary Alvarenga
 
.Template .padrao .slides .TCC .2024 ppt
.Template .padrao .slides .TCC .2024 ppt.Template .padrao .slides .TCC .2024 ppt
.Template .padrao .slides .TCC .2024 ppt
IslanderAndrade
 
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptxSlides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
LuizHenriquedeAlmeid6
 

Último (20)

Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
 
Rimas, Luís Vaz de Camões. pptx
Rimas, Luís Vaz de Camões.          pptxRimas, Luís Vaz de Camões.          pptx
Rimas, Luís Vaz de Camões. pptx
 
O que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdfO que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdf
 
05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
 
“A classe operária vai ao paraíso os modos de produzir e trabalhar ao longo ...
“A classe operária vai ao paraíso  os modos de produzir e trabalhar ao longo ...“A classe operária vai ao paraíso  os modos de produzir e trabalhar ao longo ...
“A classe operária vai ao paraíso os modos de produzir e trabalhar ao longo ...
 
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxSlides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
 
Atividade letra da música - Espalhe Amor, Anavitória.
Atividade letra da música - Espalhe  Amor, Anavitória.Atividade letra da música - Espalhe  Amor, Anavitória.
Atividade letra da música - Espalhe Amor, Anavitória.
 
Funções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prismaFunções e Progressões - Livro completo prisma
Funções e Progressões - Livro completo prisma
 
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
759-fortaleza-resultado-definitivo-prova-objetiva-2024-05-28.pdf
 
Caça-palavras - ortografia S, SS, X, C e Z
Caça-palavras - ortografia  S, SS, X, C e ZCaça-palavras - ortografia  S, SS, X, C e Z
Caça-palavras - ortografia S, SS, X, C e Z
 
Redação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptxRedação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptx
 
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
 
educação inclusiva na atualidade como ela se estabelece atualmente
educação inclusiva na atualidade como ela se estabelece atualmenteeducação inclusiva na atualidade como ela se estabelece atualmente
educação inclusiva na atualidade como ela se estabelece atualmente
 
Vogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantilVogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantil
 
UFCD_5420_Integração de sistemas de informação - conceitos_índice.pdf
UFCD_5420_Integração de sistemas de informação - conceitos_índice.pdfUFCD_5420_Integração de sistemas de informação - conceitos_índice.pdf
UFCD_5420_Integração de sistemas de informação - conceitos_índice.pdf
 
Sócrates e os sofistas - apresentação de slides
Sócrates e os sofistas - apresentação de slidesSócrates e os sofistas - apresentação de slides
Sócrates e os sofistas - apresentação de slides
 
Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
 
.Template .padrao .slides .TCC .2024 ppt
.Template .padrao .slides .TCC .2024 ppt.Template .padrao .slides .TCC .2024 ppt
.Template .padrao .slides .TCC .2024 ppt
 
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptxSlides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
 

Desenvolvimento de sistemas web com PHP Frameworks - Aula 4

  • 2.
  • 3.  As configurações de banco de dados no Laravel ficam armazenadas na pasta config, arquivo database.php;  Como exemplo, edite o vetor connections do arquivo database.php com as configurações apresentadas ao lado
  • 4. Crie a base de dados “laravel” a partir do phpmyadmin; Abra o arquivo .env localizado na pasta raiz do projeto Laravel e edite as configurações padrão de conexão;
  • 5.
  • 6. Funcionalidade nativa do Laravel; O primeiro framework PHP a se preocupar com isso; Algo que era disponível apenas no Ruby! Permite a criação de classes que permitem inicializar (subir) bancos de dados de aplicações e remover informações de bancos quando necessário; Facilita a sincronização de dados em banco;
  • 7. Exemplo: Vá no seu terminal, acesse a partir dele a pasta C:xampphtdocslaravel e digite o comando: php artisan make:migration tabela_livro Uma nova migration com o nome xxxx_tabela_livro será criada em database/migrations/;
  • 8.  Continuando o exemplo, na migration tabela_livro, edite so métodos up e down: public function up() { Schema::create(‘livro’, function(Blueprint $tabela) { $tabela->integer(‘id’, true); $tabela->string(‘titulo’, 100); $tabela->text(‘descricao’); $tabela->date(‘data_publicacao’); }); }
  • 9. Continuando o exemplo, na migration tabela_livro, edite so métodos up e down: public function down() { Schema::drop(‘livro’); }
  • 10. Exemplo: Vá no seu terminal, acesse a partir dele a pasta C:xampphtdocslaravel e digite o comando: php artisan migrate Quando o comando for concluído, abra o phpmyadmin, banco laravel e verifique se a tabela livros foi criada com sucesso;
  • 11. Exemplo: Para executar o método down da migration, vá no seu terminal, acesse a partir dele a pasta C:xampphtdocslaravel e digite o comando: php artisan migrate:reset Quando o comando for concluído, abra o phpmyadmin, banco laravel e verifique se a tabela livros foi excluída com sucesso;
  • 12. Chegou a hora de criar nossas classes Model!!
  • 13. O Laravel trabalha com ORM (Object Relacional Mapping), que se encarrega de abstrair a conversão das estruturas de tabelas de BD e instruções SQL para o mundo da orientação a objetos; O Eloquent implementa o padrão Active Record, em que cada tabela deve possuir uma classe correspondente (um Model MVC);
  • 14.  Exemplo: Vá para a pasta app do projeto laravel e crie a pasta Models (infelizmente o Laravel não cria essa pasta por padrão);  Vá no seu terminal, acesse a partir dele a pasta C:xampphtdocslaravel e digite o comando: php artisan make:model Models/LivroModel  Uma nova model com o nome LivroModel será criada em app/Models/;
  • 15.  Continuando o exemplo, edite a Model LivroModel: Class LivroModel extends Model { protected $table = ‘livro’; protected $primaryKey = ‘id’; protected $fillable = [ ‘titulo’, ‘descricao’, ‘data_publicacao’ ]; }
  • 16. Para testar nossas consultas, acesse o arquivo de rotas e registre a seguinte rota: Route::resource(‘livro', ‘LivroController’);
  • 17. Agora, vá no seu terminal, acesse a partir dele a pasta C:xampphtdocslaravel e digite o comando: php artisan make:controller LivroController Uma nova controller com o nome LivroController será criada em app/Http/Controllers/;
  • 18. Continuando o exemplo, inclua uma importação na classe UsuariosController: use AppModelsLivroModel;
  • 19. Em seguida, edite o método show da classe UsuariosController: public function show($id) { return LivroModel::all(); }
  • 20. Por fim, abra o phpmyadmin, acesse a tabela livros, insira alguns livros (clicando em Insere), abra o navegador e acesse http://laravel.dev/livro/show Um select * from livros será executado automaticamente e apresentado na tela!
  • 21. Exercício valendo pontos para a nota final da disciplina
  • 22.  Edite o exemplo anterior e faça com que o projeto Laravel também permita inserir, editar e excluir livros, além de exibir informações de um livro específico;  A sintaxe para os métodos de Model para as devidas ações CRUD estão disponíveis em https://laravel.com/docs/5.1/eloquent  Faça os registros de rota e a criação de Views necessárias para cada operação;
  • 23.  Observação:  Para criar um método que possa capturar os inputs do formulário, utilize um objeto da classe Request como parâmetro do método. Exemplo: public function postNome(Request $request) { printf(“Nome: %s", ($request->input('nome'))); }
  • 24.  Lembre-se também que cada método CRUD criado em um controller de recurso pode ser executado automaticamente, dependendo da requisição HTTP realizada e do formato da URI: Tipo URI Ação GET /livro index GET /livro/create create POST /livro store GET /livro/{pagina} show GET /livro/{pagina}/edit edit PUT/PATCH /livro/{pagina} update DELETE /livro/{pagina} destroy
  • 25.  Lembre-se também que cada método CRUD criado em um controller de recurso tem uma funcionalidade específica sugerida:  index – Método que chamará uma view para a exibição de dados;  create – Método que chamará uma view para o formulário de inserção de dados;  store – Método que executará a inserção de dados a partir de um Model;  show - Método que chamará uma view para a exibição de um recurso específico;  edit - Método que chamará uma view para o formulário de edição de dados;  update - Método que executará a edição de dados a partir de um Model;  destroy – Método que executará a exclusão de dados a partir de um Model;