SlideShare uma empresa Scribd logo
Thyago Maia Tavares de Farias
Recursos dinâmicos fornecidos pelo Blade
Exemplo: Acesse o arquivo de rotas e registre a
seguinte rota:
Route::get('/se', function() {
return view(‘vazio‘, [
‘lista’ => []
]);
});
Agora edite a view vazio.blade.php e acesse
http://laravel.dev/se :
@if(count($lista) == 0)
<p>Não existe dados na lista</p>
@else
<p>Existem dados na lista</p>
@endif
Acesse o arquivo de rotas, atualize a rota se e acesse
http://laravel.dev/se :
Route::get('/se', function() {
return view(‘vazio‘, [
‘lista’ => [‘item’]
]);
});
Exemplo: Acesse o arquivo de rotas e registre a
seguinte rota:
Route::get('/para-cada', function() {
return view(‘dados‘, [
‘lista’ => [‘dado1’, ’dado2’]
]);
});
Agora edite a view dados.blade.php e acesse
http://laravel.dev/para-cada :
@foreach($lista as $item)
<p>{{ $item }}</p>
@endforeach
Para permitir o reuso de código, geralmente
dividimos nossas Views em pequenas partes e,
depois, as utilizamos quando necessário;
Assim, é possível alterar partes de View em um só
lugar e refletir a alteração em vários lugares ao
mesmo tempo. O Blade nos ajuda nesse sentido;
Exemplo: Acesse o arquivo de rotas e registre a
seguinte rota:
Route::get('/include', function() {
return view(‘include‘);
});
Crie na pasta /resource/views a view include.blade.php e
acesse http://laravel.dev/include :
<h1>Parte da View principal</h1>
@include(‘welcome’)
O Blade também fornece estruturas de repetição.
Ex:
@for ($i=0;$i<10;$i++)
<p>O valor de i é {{ $i }}</p>
@endfor
O Blade também fornece estruturas de repetição.
Ex:
@while(true)
<p>Vou travar seu navegador!</p>
@endwhile
O Laravel nos propõe facilidades para a validação
de dados a partir de controllers;
Para apresentar o referido recurso, vamos
implementar, na forma tradicional, um controller
com métodos de validação. Logo em seguida,
iremos refatorar a classe com recursos de validação
do Laravel;
Exemplo: Vá no seu terminal, acesse a partir dele a
pasta C:xampphtdocslaravel e digite o comando:
php artisan make:controller ValidacaoController
Um novo controller com o nome ValidacaoController
será criado em app/Http/Controllers;
Continuando o exemplo, no controller ValidacaoController,
crie o seguinte método:
public function validaTitulo(Request $request) {
if($request->input(‘titulo’) == ‘’)
return ‘Título não pode ser vazio’;
if(strlen($request->input(‘titulo’)) < 3)
return ‘Título deve ter no mínimo 3 letras’;
}
 Agora, no controller ValidacaoController, iremos refatorar o
primeiro if do método validaTitulo:
public function validaTitulo(Request $request) {
$this->validate($request, [
‘titulo’ => ‘required’
]);
if(strlen($request->input(‘titulo’)) < 3)
return ‘Título deve ter no mínimo 3 letras’;
}
Em seguida, no controller ValidacaoController, iremos
refatorar a classe, tirando a necessidade do segundo if do
método validaTitulo:
public function validaTitulo(Request $request) {
$this->validate($request, [
‘titulo’ => ‘required|min:3’
]);
}
Para testar nossas validações, acesse o arquivo de
rotas e registre a seguinte rota:
Route::get('/form', function() {
return view(‘form‘);
});
Route::post(‘/form’,
‘ValidacaoController@validaTitulo’);
 Agora, começaremos a manipular a camada de visualização de dados. Crie a view
form.blade.php na pasta resource/views e acesse http://laravel.dev/form :
@if(count($errors) > 0)
@foreach($errors->all() as $error)
<p>{{ $error }}</p>
@endforeach
@endif
<form method="post">
{{ csrf_field() }}
<p>Titulo: <input type="text" name=“titulo"></p>
<input type=“submit” value=“Enviar”>
</form>
Exercício valendo pontos para a nota final da disciplina
 Faça uma aplicação no Laravel que:
 Na página raiz da aplicação, permita ao usuário visualizar 4 links:
Adição, Subtração, Multiplicação e Divisão. Cada link deverá levar o
usuário a uma rota criada para cada operação;
 Na pasta Views, crie uma View para cada operação matemática, além de
uma View para a página de links;
 Nas Views de cálculo, o usuário deverá digitar dois números em um
formulário;
 Crie um controller que possua 4 métodos, cada um dedicado para uma
operação matemática;
 Edite o arquivo de rotas para que uma rota seja definida para cada um
dos métodos da classe controller criada anteriormente;
 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')));
}

Mais conteúdo relacionado

Mais procurados

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!
 
Novas Funcionalidade no PHP 5.3
Novas Funcionalidade no PHP 5.3Novas Funcionalidade no PHP 5.3
Novas Funcionalidade no PHP 5.3
Douglas V. Pasqua
 
Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1
Israel Messias
 
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
PGDay Campinas
 
Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2
Eduardo Mendes
 
Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2
Eduardo Mendes
 
Como criar um plugin para WordPress
Como criar um plugin para WordPressComo criar um plugin para WordPress
Como criar um plugin para WordPress
Leandrinho Vieira
 
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
 
Rest Beer v2
Rest Beer v2Rest Beer v2
Rest Beer v2
Ivan Rosolen
 
Desenvolvimento em .Net - nHibernate
Desenvolvimento em .Net - nHibernateDesenvolvimento em .Net - nHibernate
Desenvolvimento em .Net - nHibernate
Vitor Silva
 
Introdução à MEAN Stack
Introdução à MEAN StackIntrodução à MEAN Stack
Introdução à MEAN Stack
Bruno Catão
 
Python cherrypy
Python cherrypyPython cherrypy
Python cherrypy
antonio sérgio nogueira
 
Java script aula 05 - funções
Java script   aula 05 - funçõesJava script   aula 05 - funções
Java script aula 05 - funções
Cristiano Pires Martins
 
Servidor de Aplicação Web: CherryPy - Python
Servidor de Aplicação  Web: CherryPy - PythonServidor de Aplicação  Web: CherryPy - Python
Servidor de Aplicação Web: CherryPy - Python
antonio sérgio nogueira
 
Java script aula 02 - operadores
Java script   aula 02 - operadoresJava script   aula 02 - operadores
Java script aula 02 - operadores
Cristiano Pires Martins
 
Java script - funções
Java script - funçõesJava script - funções
Java script - funções
Cristiano Pires Martins
 
Apresentacao TCC - Rafael Felix
Apresentacao TCC - Rafael FelixApresentacao TCC - Rafael Felix
Apresentacao TCC - Rafael Felix
Rafael Felix da Silva
 
Web 2.0 e AJAX - Parte 2 / 3
Web 2.0 e AJAX - Parte 2 / 3Web 2.0 e AJAX - Parte 2 / 3
Web 2.0 e AJAX - Parte 2 / 3
David Ruiz
 
Namespaces
NamespacesNamespaces
Namespaces
Fahad Kalil
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e Sessoes
Daniel Brandão
 

Mais procurados (20)

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
 
Novas Funcionalidade no PHP 5.3
Novas Funcionalidade no PHP 5.3Novas Funcionalidade no PHP 5.3
Novas Funcionalidade no PHP 5.3
 
Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1Programação Orientada a Objetos (POO) com PHP - Parte 1
Programação Orientada a Objetos (POO) com PHP - Parte 1
 
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
 
Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2
 
Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2
 
Como criar um plugin para WordPress
Como criar um plugin para WordPressComo criar um plugin para WordPress
Como criar um plugin para WordPress
 
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
 
Rest Beer v2
Rest Beer v2Rest Beer v2
Rest Beer v2
 
Desenvolvimento em .Net - nHibernate
Desenvolvimento em .Net - nHibernateDesenvolvimento em .Net - nHibernate
Desenvolvimento em .Net - nHibernate
 
Introdução à MEAN Stack
Introdução à MEAN StackIntrodução à MEAN Stack
Introdução à MEAN Stack
 
Python cherrypy
Python cherrypyPython cherrypy
Python cherrypy
 
Java script aula 05 - funções
Java script   aula 05 - funçõesJava script   aula 05 - funções
Java script aula 05 - funções
 
Servidor de Aplicação Web: CherryPy - Python
Servidor de Aplicação  Web: CherryPy - PythonServidor de Aplicação  Web: CherryPy - Python
Servidor de Aplicação Web: CherryPy - Python
 
Java script aula 02 - operadores
Java script   aula 02 - operadoresJava script   aula 02 - operadores
Java script aula 02 - operadores
 
Java script - funções
Java script - funçõesJava script - funções
Java script - funções
 
Apresentacao TCC - Rafael Felix
Apresentacao TCC - Rafael FelixApresentacao TCC - Rafael Felix
Apresentacao TCC - Rafael Felix
 
Web 2.0 e AJAX - Parte 2 / 3
Web 2.0 e AJAX - Parte 2 / 3Web 2.0 e AJAX - Parte 2 / 3
Web 2.0 e AJAX - Parte 2 / 3
 
Namespaces
NamespacesNamespaces
Namespaces
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e Sessoes
 

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

Aula 12 Relatório - Tabelas
Aula 12   Relatório - TabelasAula 12   Relatório - Tabelas
Aula 12 Relatório - Tabelas
Dalton Martins
 
Apresentação j query6
Apresentação j query6Apresentação j query6
Apresentação j query6
douglasgrava
 
Mvc sem Controller
Mvc sem ControllerMvc sem Controller
Mvc sem Controller
Milfont Consulting
 
Criando controle de acesso com php e my sql
Criando controle de acesso com php e my sqlCriando controle de acesso com php e my sql
Criando controle de acesso com php e my sql
Paulo Damas
 
PHP FrameWARks - FISL
PHP FrameWARks - FISLPHP FrameWARks - FISL
PHP FrameWARks - FISL
Marcio Albuquerque
 
Aula 08 - Introdução ao banco de dados MySQL - Programação Web
Aula 08 - Introdução ao banco de dados MySQL - Programação WebAula 08 - Introdução ao banco de dados MySQL - Programação Web
Aula 08 - Introdução ao banco de dados MySQL - Programação Web
Dalton Martins
 
Design patterns
Design patternsDesign patterns
Design patterns
DouglasSoaresAndrSch
 
Evento Front End SP - Organizando o Javascript
 Evento Front End SP - Organizando o Javascript Evento Front End SP - Organizando o Javascript
Evento Front End SP - Organizando o Javascript
Michel Ribeiro
 
Ecommerce, mais simples do que parece
Ecommerce, mais simples do que pareceEcommerce, mais simples do que parece
Ecommerce, mais simples do que parece
Michael Castillo Granados
 
Ecommerce, mais simples do que parece
Ecommerce, mais simples do que pareceEcommerce, mais simples do que parece
Ecommerce, mais simples do que parece
Impacta Eventos
 
LINQ - Language Integrated Query
LINQ - Language Integrated QueryLINQ - Language Integrated Query
LINQ - Language Integrated Query
Dalton Valadares
 
Hooks, o condimento mágico e escondido do WordPress
Hooks, o condimento mágico e escondido do WordPressHooks, o condimento mágico e escondido do WordPress
Hooks, o condimento mágico e escondido do WordPress
Zé Fontainhas
 
jQuery Simplificando o JavaScript
jQuery Simplificando o JavaScriptjQuery Simplificando o JavaScript
jQuery Simplificando o JavaScript
Everaldo Wanderlei Uavniczak
 
Phpex2
Phpex2Phpex2
PHP ao Extremo
PHP ao ExtremoPHP ao Extremo
PHP ao Extremo
Thiago Rigo
 
Workshop Django
Workshop DjangoWorkshop Django
Workshop Django
Sérgio Santos
 
Java 8 - New Features
Java 8 - New FeaturesJava 8 - New Features
Java 8 - New Features
Rafael Brito de Oliveira
 
PHP fora da Web
PHP fora da WebPHP fora da Web
PHP fora da Web
Vinícius Campitelli
 
Minicurso de jQuery
Minicurso de jQueryMinicurso de jQuery
Minicurso de jQuery
André Willik Valenti
 

Semelhante a Desenvolvimento de sistemas web com PHP Frameworks - Aula 3 (19)

Aula 12 Relatório - Tabelas
Aula 12   Relatório - TabelasAula 12   Relatório - Tabelas
Aula 12 Relatório - Tabelas
 
Apresentação j query6
Apresentação j query6Apresentação j query6
Apresentação j query6
 
Mvc sem Controller
Mvc sem ControllerMvc sem Controller
Mvc sem Controller
 
Criando controle de acesso com php e my sql
Criando controle de acesso com php e my sqlCriando controle de acesso com php e my sql
Criando controle de acesso com php e my sql
 
PHP FrameWARks - FISL
PHP FrameWARks - FISLPHP FrameWARks - FISL
PHP FrameWARks - FISL
 
Aula 08 - Introdução ao banco de dados MySQL - Programação Web
Aula 08 - Introdução ao banco de dados MySQL - Programação WebAula 08 - Introdução ao banco de dados MySQL - Programação Web
Aula 08 - Introdução ao banco de dados MySQL - Programação Web
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Evento Front End SP - Organizando o Javascript
 Evento Front End SP - Organizando o Javascript Evento Front End SP - Organizando o Javascript
Evento Front End SP - Organizando o Javascript
 
Ecommerce, mais simples do que parece
Ecommerce, mais simples do que pareceEcommerce, mais simples do que parece
Ecommerce, mais simples do que parece
 
Ecommerce, mais simples do que parece
Ecommerce, mais simples do que pareceEcommerce, mais simples do que parece
Ecommerce, mais simples do que parece
 
LINQ - Language Integrated Query
LINQ - Language Integrated QueryLINQ - Language Integrated Query
LINQ - Language Integrated Query
 
Hooks, o condimento mágico e escondido do WordPress
Hooks, o condimento mágico e escondido do WordPressHooks, o condimento mágico e escondido do WordPress
Hooks, o condimento mágico e escondido do WordPress
 
jQuery Simplificando o JavaScript
jQuery Simplificando o JavaScriptjQuery Simplificando o JavaScript
jQuery Simplificando o JavaScript
 
Phpex2
Phpex2Phpex2
Phpex2
 
PHP ao Extremo
PHP ao ExtremoPHP ao Extremo
PHP ao Extremo
 
Workshop Django
Workshop DjangoWorkshop Django
Workshop Django
 
Java 8 - New Features
Java 8 - New FeaturesJava 8 - New Features
Java 8 - New Features
 
PHP fora da Web
PHP fora da WebPHP fora da Web
PHP fora da Web
 
Minicurso de jQuery
Minicurso de jQueryMinicurso de jQuery
Minicurso de jQuery
 

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

epidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).pptepidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).ppt
MarceloMonteiro213738
 
Educação trabalho HQ em sala de aula uma excelente ideia
Educação  trabalho HQ em sala de aula uma excelente  ideiaEducação  trabalho HQ em sala de aula uma excelente  ideia
Educação trabalho HQ em sala de aula uma excelente ideia
joseanesouza36
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
D20 - Descritores SAEB de Língua Portuguesa
D20 - Descritores SAEB de Língua PortuguesaD20 - Descritores SAEB de Língua Portuguesa
D20 - Descritores SAEB de Língua Portuguesa
eaiprofpolly
 
7133lllllllllllllllllllllllllllll67.pptx
7133lllllllllllllllllllllllllllll67.pptx7133lllllllllllllllllllllllllllll67.pptx
7133lllllllllllllllllllllllllllll67.pptx
LEANDROSPANHOL1
 
As sequências didáticas: práticas educativas
As sequências didáticas: práticas educativasAs sequências didáticas: práticas educativas
As sequências didáticas: práticas educativas
rloureiro1
 
O Mito da Caverna de Platão_ Uma Jornada em Busca da Verdade.pdf
O Mito da Caverna de Platão_ Uma Jornada em Busca da Verdade.pdfO Mito da Caverna de Platão_ Uma Jornada em Busca da Verdade.pdf
O Mito da Caverna de Platão_ Uma Jornada em Busca da Verdade.pdf
silvamelosilva300
 
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdfA QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
AurelianoFerreirades2
 
Dicas de normas ABNT para trabalho de conclusão de curso
Dicas de normas ABNT para trabalho de conclusão de cursoDicas de normas ABNT para trabalho de conclusão de curso
Dicas de normas ABNT para trabalho de conclusão de curso
Simone399395
 
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIASA SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
HisrelBlog
 
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
 
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
 
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoAtividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
MateusTavares54
 
GÊNERO TEXTUAL - POEMA.pptx
GÊNERO      TEXTUAL     -     POEMA.pptxGÊNERO      TEXTUAL     -     POEMA.pptx
GÊNERO TEXTUAL - POEMA.pptx
Marlene Cunhada
 
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.pptLeis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
PatriciaZanoli
 
Livro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo FreireLivro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo Freire
WelberMerlinCardoso
 
karl marx biografia resumida com suas obras e história de vida
karl marx biografia resumida com suas obras e história de vidakarl marx biografia resumida com suas obras e história de vida
karl marx biografia resumida com suas obras e história de vida
KleginaldoPaz2
 
Leonardo da Vinci .pptx
Leonardo da Vinci                  .pptxLeonardo da Vinci                  .pptx
Leonardo da Vinci .pptx
TomasSousa7
 
Vogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantilVogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantil
mamaeieby
 
Potenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números RacionaisPotenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números Racionais
wagnermorais28
 

Último (20)

epidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).pptepidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).ppt
 
Educação trabalho HQ em sala de aula uma excelente ideia
Educação  trabalho HQ em sala de aula uma excelente  ideiaEducação  trabalho HQ em sala de aula uma excelente  ideia
Educação trabalho HQ em sala de aula uma excelente ideia
 
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptxSlides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
Slides Lição 11, CPAD, A Realidade Bíblica do Inferno, 2Tr24.pptx
 
D20 - Descritores SAEB de Língua Portuguesa
D20 - Descritores SAEB de Língua PortuguesaD20 - Descritores SAEB de Língua Portuguesa
D20 - Descritores SAEB de Língua Portuguesa
 
7133lllllllllllllllllllllllllllll67.pptx
7133lllllllllllllllllllllllllllll67.pptx7133lllllllllllllllllllllllllllll67.pptx
7133lllllllllllllllllllllllllllll67.pptx
 
As sequências didáticas: práticas educativas
As sequências didáticas: práticas educativasAs sequências didáticas: práticas educativas
As sequências didáticas: práticas educativas
 
O Mito da Caverna de Platão_ Uma Jornada em Busca da Verdade.pdf
O Mito da Caverna de Platão_ Uma Jornada em Busca da Verdade.pdfO Mito da Caverna de Platão_ Uma Jornada em Busca da Verdade.pdf
O Mito da Caverna de Platão_ Uma Jornada em Busca da Verdade.pdf
 
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdfA QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
 
Dicas de normas ABNT para trabalho de conclusão de curso
Dicas de normas ABNT para trabalho de conclusão de cursoDicas de normas ABNT para trabalho de conclusão de curso
Dicas de normas ABNT para trabalho de conclusão de curso
 
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIASA SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
 
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.
 
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
 
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - AlfabetinhoAtividades de Inglês e Espanhol para Imprimir - Alfabetinho
Atividades de Inglês e Espanhol para Imprimir - Alfabetinho
 
GÊNERO TEXTUAL - POEMA.pptx
GÊNERO      TEXTUAL     -     POEMA.pptxGÊNERO      TEXTUAL     -     POEMA.pptx
GÊNERO TEXTUAL - POEMA.pptx
 
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.pptLeis de Mendel - as ervilhas e a maneira simples de entender.ppt
Leis de Mendel - as ervilhas e a maneira simples de entender.ppt
 
Livro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo FreireLivro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo Freire
 
karl marx biografia resumida com suas obras e história de vida
karl marx biografia resumida com suas obras e história de vidakarl marx biografia resumida com suas obras e história de vida
karl marx biografia resumida com suas obras e história de vida
 
Leonardo da Vinci .pptx
Leonardo da Vinci                  .pptxLeonardo da Vinci                  .pptx
Leonardo da Vinci .pptx
 
Vogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantilVogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantil
 
Potenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números RacionaisPotenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números Racionais
 

Desenvolvimento de sistemas web com PHP Frameworks - Aula 3

  • 3. Exemplo: Acesse o arquivo de rotas e registre a seguinte rota: Route::get('/se', function() { return view(‘vazio‘, [ ‘lista’ => [] ]); });
  • 4. Agora edite a view vazio.blade.php e acesse http://laravel.dev/se : @if(count($lista) == 0) <p>Não existe dados na lista</p> @else <p>Existem dados na lista</p> @endif
  • 5. Acesse o arquivo de rotas, atualize a rota se e acesse http://laravel.dev/se : Route::get('/se', function() { return view(‘vazio‘, [ ‘lista’ => [‘item’] ]); });
  • 6. Exemplo: Acesse o arquivo de rotas e registre a seguinte rota: Route::get('/para-cada', function() { return view(‘dados‘, [ ‘lista’ => [‘dado1’, ’dado2’] ]); });
  • 7. Agora edite a view dados.blade.php e acesse http://laravel.dev/para-cada : @foreach($lista as $item) <p>{{ $item }}</p> @endforeach
  • 8. Para permitir o reuso de código, geralmente dividimos nossas Views em pequenas partes e, depois, as utilizamos quando necessário; Assim, é possível alterar partes de View em um só lugar e refletir a alteração em vários lugares ao mesmo tempo. O Blade nos ajuda nesse sentido;
  • 9. Exemplo: Acesse o arquivo de rotas e registre a seguinte rota: Route::get('/include', function() { return view(‘include‘); });
  • 10. Crie na pasta /resource/views a view include.blade.php e acesse http://laravel.dev/include : <h1>Parte da View principal</h1> @include(‘welcome’)
  • 11. O Blade também fornece estruturas de repetição. Ex: @for ($i=0;$i<10;$i++) <p>O valor de i é {{ $i }}</p> @endfor
  • 12. O Blade também fornece estruturas de repetição. Ex: @while(true) <p>Vou travar seu navegador!</p> @endwhile
  • 13.
  • 14. O Laravel nos propõe facilidades para a validação de dados a partir de controllers; Para apresentar o referido recurso, vamos implementar, na forma tradicional, um controller com métodos de validação. Logo em seguida, iremos refatorar a classe com recursos de validação do Laravel;
  • 15. Exemplo: Vá no seu terminal, acesse a partir dele a pasta C:xampphtdocslaravel e digite o comando: php artisan make:controller ValidacaoController Um novo controller com o nome ValidacaoController será criado em app/Http/Controllers;
  • 16. Continuando o exemplo, no controller ValidacaoController, crie o seguinte método: public function validaTitulo(Request $request) { if($request->input(‘titulo’) == ‘’) return ‘Título não pode ser vazio’; if(strlen($request->input(‘titulo’)) < 3) return ‘Título deve ter no mínimo 3 letras’; }
  • 17.  Agora, no controller ValidacaoController, iremos refatorar o primeiro if do método validaTitulo: public function validaTitulo(Request $request) { $this->validate($request, [ ‘titulo’ => ‘required’ ]); if(strlen($request->input(‘titulo’)) < 3) return ‘Título deve ter no mínimo 3 letras’; }
  • 18. Em seguida, no controller ValidacaoController, iremos refatorar a classe, tirando a necessidade do segundo if do método validaTitulo: public function validaTitulo(Request $request) { $this->validate($request, [ ‘titulo’ => ‘required|min:3’ ]); }
  • 19. Para testar nossas validações, acesse o arquivo de rotas e registre a seguinte rota: Route::get('/form', function() { return view(‘form‘); }); Route::post(‘/form’, ‘ValidacaoController@validaTitulo’);
  • 20.  Agora, começaremos a manipular a camada de visualização de dados. Crie a view form.blade.php na pasta resource/views e acesse http://laravel.dev/form : @if(count($errors) > 0) @foreach($errors->all() as $error) <p>{{ $error }}</p> @endforeach @endif <form method="post"> {{ csrf_field() }} <p>Titulo: <input type="text" name=“titulo"></p> <input type=“submit” value=“Enviar”> </form>
  • 21. Exercício valendo pontos para a nota final da disciplina
  • 22.  Faça uma aplicação no Laravel que:  Na página raiz da aplicação, permita ao usuário visualizar 4 links: Adição, Subtração, Multiplicação e Divisão. Cada link deverá levar o usuário a uma rota criada para cada operação;  Na pasta Views, crie uma View para cada operação matemática, além de uma View para a página de links;  Nas Views de cálculo, o usuário deverá digitar dois números em um formulário;  Crie um controller que possua 4 métodos, cada um dedicado para uma operação matemática;  Edite o arquivo de rotas para que uma rota seja definida para cada um dos métodos da classe controller criada anteriormente;
  • 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'))); }