SlideShare a Scribd company logo
1 of 25
Laravel 5: Entendendo
o ambiente MVC
Quem sou eu ?
➢ Apenas um Analista desenvolvedor PHP
➢ Trabalho no: Pravaler
O Laravel PagSeguro
https://github.com/michaeldouglas/l
aravel-pagseguro
Por que o Laravel ?
Instalação Laravel 5
• Existem duas formas de instalar o Laravel, que
são:
➢Laravel Installer - composer global require
"laravel/installer=~1.1“ -> Por que dessa forma ?
➢ Por que é possível utilizar o comando: laravel new projeto
➢ Exemplo de comando de referencia a pasta laravel installer: export
PATH="~/.composer/vendor/bin:$PATH"
➢Instalação direta via composer - composer create-
project laravel/laravel --prefer-dist -> Por que dessa forma ?
➢ Por não querer usar o comando laravel new ?
Seu APP no Laravel
➢ Saiba mais sobre o comando: laravel new
➢ Para testar nossa nova aplicação basta
executar o comando:
○ php artisan serve
A nova estrutura do Laravel
➢ Vendor
➢ Essa pasta é gerada automaticamente pelo composer, é nela
que encontramos as bibliotecas que farão com que o Laravel
rode. -> Atenção: Se possível for não edite os códigos dessa
pasta ☺
➢ Public
➢ A pasta public é o seu DocumentRoot, ou seja, toda requisição
efetuada pelo usuário cairão nela.
➢ Ela também é responsável por servir nossos assets, ou seja,
javascripts, css, fonts, imagens e etc.
➢ Config
➢ A pasta config é responsável por guardar os arquivos de
configuração da sua aplicação.
➢ Storage
➢ A pasta Storate é responsável por armazenar os arquivos de
uso interno do Laravel tais como:
➢ Cache, logs e etc -> Lembrando que cache, por
exemplo, depende de como está o seu config.
➢ App
➢ É a pasta principal do sistema basicamente é responsável por
armazenar grande parte do código que digitarmos.
Configurando meu NameSpace
➢No laravel 5 por default o Namespace padrão é
o App.
➢Por que não é legal manter o APP ?
➢Para alterar esse padrão e colocar o
Namespace de sua empresa, você deverá
executar o comando:
➢php artisan app:name SeuNameSpace
Configurando meu Environment
➢ Primeiramente o que é o Environment ?
➢ Laravel utiliza o: phpdotenv do vlucas!
➢ E para verificar nosso ENV utilize o comando:
➢php artisan env
➢ Exemplo de um arquivo (.env) de configuração:
Rotas no Laravel
➢ Onde fica o routes ?
○ O caminho para o routes no Laravel 5 mudou para:
■ app/Http/routes.php
➢ Tipos de rotas Laravel
○ GET, POST, PUT E DELETE
➢ E como eu forneço um parâmetro em minha rota ?
○ Basta que em sua rota você informe o parâmetro, por exemplo:
rota/{parametro}
○ E para opcionais: rota/{parametro?}
○ É possível utilizar rota?parametro=valor !
➢ Agrupamento de rotas, será que vale a pena ?
○ Nem deveria ter esse questionamento !
○ Como eu faço então ?
■ O que precisa é usar o group da rota e especificar o nome do seu
grupo: Route::group[‘as’ => ‘legal’]
➢ Apenas um lembrete funciona para: middleware e namespaces
Verificando comandos
disponíveis do artisan
➢ O que é o Artisan ?
➢Artisan é a nomenclatura para a linha de comando
que é incluída no Laravel.
➢ Para verificar os comandos disponíveis basta executar:
➢php artisan ou php artisan list
Configurando meu banco de
dados
➢ Com seu Environment configurado a base já esta
correta, sendo possível executar o comando:
➢ php artisan migrate:install
➢ Criando sua primeira model:
➢php artisan make:model (seu model)
➢ E para criar a tabela:
➢php artisan migrate
O que são Migrations
➢ O recurso migrations do Laravel serve para, gerenciar
as mudanças que ocorrem na estrutura do nosso banco
de dados, ou seja, irá gerenciar nossas tabelas,
colunas e índices.
➢ Qual a vantagem ? - Ser um DBA ?
○ Nós podemos ter exatamente a versão da estrutura
de base, logo, se for necessário podemos realizar
um “roll back“ da nossa estrutura.
○ Para executar um “roll back” basta executar o
comando:
■ php artisan migrate:rollback
Conheça o Tinker
➢ Primeiramente o que é o tinker ?
○ Apenas um console interativo que vem com o
Laravel para ajudar, por exemplo, a testar sua nova
model !
➢ Como chamo o tinker ?
○ Basta você executar no seu terminal o comando:
■ php artisan tinker
➢ Exemplo de execução do Tinker:
Exemplo de execução
1. php artisan tinker
2. Psy Shell v0.4.4 (PHP 5.6.4 — cli) by Justin Hileman
3. >>> use SeuAPPConfiguradoPalestra;
4. => false
5. >>> $palestra = new Palestra();
6. => <AppPalestra #00000q0001er5f71000000023a0f17v9> {}
7. >>> $palestra->nome = "Laravel 5: Entenda o ambiente e a estrutura
MVC";
8. => "Laravel 5: Entenda o ambiente e a estrutura MVC"
9. $palestra->descricao = "Laravel é legal mesmo!";
10.=> "Laravel é legal mesmo!"
11.>>> $palestra->save();
12.=> true
Controllers no Laravel
➢ Em nossa aplicação possui a responsabilidade de ser o
interpretador, ou seja, recebe nossa requisição e fica
responsável por chamar: Nossas Models, consultar e persistir
dados e também por oferecer nossas respostas.
○ Vamos focar em receber uma requisição e encaminhar para
nossa controller e responder de três formas diferentes, que
são:
■ HTML
■ Json
■ E chamando nossa view
Comando para criação do seu
Controller
➢ Como vimos anteriormente ao executar o comando:
○ php artisan ou php artisan list - É retornado a lista de
comandos, existe um quem nós chama a atenção para o
nosso caso atual que é o comando make:controller:
■ php artisan make:controller SeuNomeDeController
➢ Ao executar esse comando ele irá criar o seu controller porém
será criada seguindo o padrão Restful.
➢ Existe uma forma de contornar isso, basta que ao criar seu
Controller você coloque após o nome da Controller: --plain
○ php artisan make:controller SeuNomeDeController --
plain
Como fica as ações de uma
Controller Restful
Retornando um HTML
➢ Primeiramente seus controllers estão no caminho:
○ app/Http/Controllers
➢ Exemplo de controller retornando o HTML:
○ Controller criada usando: --plain !
Retornando um JSON
➢ Não precisa de muita mágica / método para retornar o Json, por
que o Laravel sabe que ao retornarmos um objeto ou um array,
em nossa ação, ele irá retornar o Json que você precisa:
Sobre as Views Laravel
➢ Antes de mais nada onde estão as Views ?
○ No Laravel 5 nossas views ficam no caminho:
■ resources  ou recursos - resources/views
➢ A template engine que o Laravel utiliza é a blade, por isso em
alguns arquivos existe:
○ .blade.php
➢ Posso utilizar outro template engine ? - Sim !
➢ Sou obrigado a utilizar .blade ? - Não, porém você perde os
facilitadores do Laravel para inserção de códigos PHP.
Retornando para a VIEW
➢ Sem muita mágica o retorno para a View é bem simples:
Como renderizar os dados ?
➢ Para exibirmos os dados criados nos controllers iremos criar
nossas Views no caminho:
○ resources/views/palestra.blade.php
➢ Exemplo sem o blade:
Como renderizar os dados ?
➢ Exemplo com o blade:
Contatos MDBA
➢ Linkedin - https://br.linkedin.com/in/michaeldouglasbarbosa
➢ Facebook: https://www.facebook.com/mdbaweb
➢ Twitter: https://twitter.com/mdba_php
➢ Github: https://github.com/michaeldouglas
➢ E-mail: michaeldouglas010790@gmail.com
Obrigado Galera !

More Related Content

What's hot (20)

PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Programação Web com HTML e CSS
Programação Web com HTML e CSSProgramação Web com HTML e CSS
Programação Web com HTML e CSS
 
Aula 07 Css - Parte 1
Aula 07   Css - Parte 1Aula 07   Css - Parte 1
Aula 07 Css - Parte 1
 
Introdução CSS
Introdução CSSIntrodução CSS
Introdução CSS
 
Aula 3. frameworks front end
Aula 3. frameworks front endAula 3. frameworks front end
Aula 3. frameworks front end
 
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.x
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Html
HtmlHtml
Html
 
html, css e java script - renato araujo
html, css e java script - renato araujohtml, css e java script - renato araujo
html, css e java script - renato araujo
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQl
 
Paradigmas do Ruby
Paradigmas do RubyParadigmas do Ruby
Paradigmas do Ruby
 
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScriptCurso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
 
Curso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicosCurso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicos
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 
HTML Principios Básicos
HTML Principios BásicosHTML Principios Básicos
HTML Principios Básicos
 
Curso javascript básico
Curso javascript básicoCurso javascript básico
Curso javascript básico
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
JavaScript: Estruturas (aula 2)
JavaScript: Estruturas (aula 2)JavaScript: Estruturas (aula 2)
JavaScript: Estruturas (aula 2)
 

Viewers also liked

A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )Michael Douglas
 
Programando php com mais segurança
Programando php com mais segurançaProgramando php com mais segurança
Programando php com mais segurançaMichael Douglas
 
Comunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHPComunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHPMichael Douglas
 
Trabalhando de forma profissional com silex
Trabalhando de forma profissional com silexTrabalhando de forma profissional com silex
Trabalhando de forma profissional com silexMichael Douglas
 
Construindo aplicações CLI com Symfony Console
Construindo aplicações CLI com Symfony ConsoleConstruindo aplicações CLI com Symfony Console
Construindo aplicações CLI com Symfony ConsoleBruno Ricardo Siqueira
 
Laravel + OAuth 2.0 Server
Laravel + OAuth 2.0 ServerLaravel + OAuth 2.0 Server
Laravel + OAuth 2.0 ServerDaniel Satiro
 
Como se tornar um desenvolvedor faixa preta
Como se tornar um desenvolvedor faixa pretaComo se tornar um desenvolvedor faixa preta
Como se tornar um desenvolvedor faixa pretaLeonardo Lourenço Silva
 
Cya grunt.js, hello gulp.js
Cya grunt.js, hello gulp.jsCya grunt.js, hello gulp.js
Cya grunt.js, hello gulp.jsMichael Douglas
 
Entendendo a Arquitetura MVC do Zend Framework
Entendendo a Arquitetura MVC do Zend FrameworkEntendendo a Arquitetura MVC do Zend Framework
Entendendo a Arquitetura MVC do Zend FrameworkGedvan Dias
 
(Intercon) wordpress como framework de desenvolvimento
(Intercon) wordpress como framework de desenvolvimento(Intercon) wordpress como framework de desenvolvimento
(Intercon) wordpress como framework de desenvolvimentoRicardo Zein
 
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014Julio Bitencourt
 
Apostila de Introdução ao C#.net
Apostila de Introdução ao C#.netApostila de Introdução ao C#.net
Apostila de Introdução ao C#.netAndre Nascimento
 
Introdução a robótica
Introdução a robóticaIntrodução a robótica
Introdução a robóticaCharles Fortes
 
Introdução ao AngularJS
Introdução ao AngularJSIntrodução ao AngularJS
Introdução ao AngularJSRodrigo Branas
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Rodrigo Branas
 
Apostila Tutorial CakePHP
Apostila Tutorial CakePHPApostila Tutorial CakePHP
Apostila Tutorial CakePHPFernando Palma
 

Viewers also liked (20)

A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )A mágica por trás dos aplicativos ( Api com o Laravel )
A mágica por trás dos aplicativos ( Api com o Laravel )
 
Programando php com mais segurança
Programando php com mais segurançaProgramando php com mais segurança
Programando php com mais segurança
 
Comunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHPComunicação em tempo real com WebRTC e PHP
Comunicação em tempo real com WebRTC e PHP
 
Trabalhando de forma profissional com silex
Trabalhando de forma profissional com silexTrabalhando de forma profissional com silex
Trabalhando de forma profissional com silex
 
Construindo aplicações CLI com Symfony Console
Construindo aplicações CLI com Symfony ConsoleConstruindo aplicações CLI com Symfony Console
Construindo aplicações CLI com Symfony Console
 
Riesgos
RiesgosRiesgos
Riesgos
 
Laravel + OAuth 2.0 Server
Laravel + OAuth 2.0 ServerLaravel + OAuth 2.0 Server
Laravel + OAuth 2.0 Server
 
ASP.NET - Recursos de Configuração
ASP.NET - Recursos de ConfiguraçãoASP.NET - Recursos de Configuração
ASP.NET - Recursos de Configuração
 
Como se tornar um desenvolvedor faixa preta
Como se tornar um desenvolvedor faixa pretaComo se tornar um desenvolvedor faixa preta
Como se tornar um desenvolvedor faixa preta
 
Cya grunt.js, hello gulp.js
Cya grunt.js, hello gulp.jsCya grunt.js, hello gulp.js
Cya grunt.js, hello gulp.js
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Nodejs e Socket.io
Nodejs e Socket.ioNodejs e Socket.io
Nodejs e Socket.io
 
Entendendo a Arquitetura MVC do Zend Framework
Entendendo a Arquitetura MVC do Zend FrameworkEntendendo a Arquitetura MVC do Zend Framework
Entendendo a Arquitetura MVC do Zend Framework
 
(Intercon) wordpress como framework de desenvolvimento
(Intercon) wordpress como framework de desenvolvimento(Intercon) wordpress como framework de desenvolvimento
(Intercon) wordpress como framework de desenvolvimento
 
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014
Cenário atual do PHP e Introdução ao Laravel no Devinvale 2014
 
Apostila de Introdução ao C#.net
Apostila de Introdução ao C#.netApostila de Introdução ao C#.net
Apostila de Introdução ao C#.net
 
Introdução a robótica
Introdução a robóticaIntrodução a robótica
Introdução a robótica
 
Introdução ao AngularJS
Introdução ao AngularJSIntrodução ao AngularJS
Introdução ao AngularJS
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
 
Apostila Tutorial CakePHP
Apostila Tutorial CakePHPApostila Tutorial CakePHP
Apostila Tutorial CakePHP
 

Similar to Laravel 5: Entendendo o ambiente MVC

Similar to Laravel 5: Entendendo o ambiente MVC (20)

Aula3
Aula3Aula3
Aula3
 
Como migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxComo migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para Linux
 
Apostila ph pwamp
Apostila ph pwampApostila ph pwamp
Apostila ph pwamp
 
Mini Curso de PHP
Mini Curso de PHPMini Curso de PHP
Mini Curso de PHP
 
Laravel + Vue: Como começar
Laravel + Vue: Como começarLaravel + Vue: Como começar
Laravel + Vue: Como começar
 
PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7
 
Ligação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPLigação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHP
 
2290494 integrando-flex-com-php
2290494 integrando-flex-com-php2290494 integrando-flex-com-php
2290494 integrando-flex-com-php
 
Php m18
Php m18Php m18
Php m18
 
CakePHP
CakePHPCakePHP
CakePHP
 
Treinamento DBA Essential
Treinamento DBA EssentialTreinamento DBA Essential
Treinamento DBA Essential
 
Apresentação formação web - up marketing digital - módulo ii
Apresentação   formação web - up marketing digital - módulo iiApresentação   formação web - up marketing digital - módulo ii
Apresentação formação web - up marketing digital - módulo ii
 
Php5 Orientado A Objetos
Php5 Orientado A ObjetosPhp5 Orientado A Objetos
Php5 Orientado A Objetos
 
Tcc anexo i
Tcc   anexo iTcc   anexo i
Tcc anexo i
 
Vagrant uma ferramenta realmente útil e versátil
Vagrant   uma ferramenta realmente útil e versátilVagrant   uma ferramenta realmente útil e versátil
Vagrant uma ferramenta realmente útil e versátil
 
Guia php
Guia phpGuia php
Guia php
 
OOP (in portuguese)
OOP (in portuguese)OOP (in portuguese)
OOP (in portuguese)
 
DevOps Primeiros Passos
DevOps Primeiros PassosDevOps Primeiros Passos
DevOps Primeiros Passos
 
Google App Engine e PHP
Google App Engine e PHPGoogle App Engine e PHP
Google App Engine e PHP
 
PHP(I-Bim).ppt
PHP(I-Bim).pptPHP(I-Bim).ppt
PHP(I-Bim).ppt
 

Laravel 5: Entendendo o ambiente MVC

  • 1. Laravel 5: Entendendo o ambiente MVC
  • 2. Quem sou eu ? ➢ Apenas um Analista desenvolvedor PHP ➢ Trabalho no: Pravaler
  • 4. Por que o Laravel ?
  • 5. Instalação Laravel 5 • Existem duas formas de instalar o Laravel, que são: ➢Laravel Installer - composer global require "laravel/installer=~1.1“ -> Por que dessa forma ? ➢ Por que é possível utilizar o comando: laravel new projeto ➢ Exemplo de comando de referencia a pasta laravel installer: export PATH="~/.composer/vendor/bin:$PATH" ➢Instalação direta via composer - composer create- project laravel/laravel --prefer-dist -> Por que dessa forma ? ➢ Por não querer usar o comando laravel new ?
  • 6. Seu APP no Laravel ➢ Saiba mais sobre o comando: laravel new ➢ Para testar nossa nova aplicação basta executar o comando: ○ php artisan serve
  • 7. A nova estrutura do Laravel ➢ Vendor ➢ Essa pasta é gerada automaticamente pelo composer, é nela que encontramos as bibliotecas que farão com que o Laravel rode. -> Atenção: Se possível for não edite os códigos dessa pasta ☺ ➢ Public ➢ A pasta public é o seu DocumentRoot, ou seja, toda requisição efetuada pelo usuário cairão nela. ➢ Ela também é responsável por servir nossos assets, ou seja, javascripts, css, fonts, imagens e etc. ➢ Config ➢ A pasta config é responsável por guardar os arquivos de configuração da sua aplicação. ➢ Storage ➢ A pasta Storate é responsável por armazenar os arquivos de uso interno do Laravel tais como: ➢ Cache, logs e etc -> Lembrando que cache, por exemplo, depende de como está o seu config. ➢ App ➢ É a pasta principal do sistema basicamente é responsável por armazenar grande parte do código que digitarmos.
  • 8. Configurando meu NameSpace ➢No laravel 5 por default o Namespace padrão é o App. ➢Por que não é legal manter o APP ? ➢Para alterar esse padrão e colocar o Namespace de sua empresa, você deverá executar o comando: ➢php artisan app:name SeuNameSpace
  • 9. Configurando meu Environment ➢ Primeiramente o que é o Environment ? ➢ Laravel utiliza o: phpdotenv do vlucas! ➢ E para verificar nosso ENV utilize o comando: ➢php artisan env ➢ Exemplo de um arquivo (.env) de configuração:
  • 10. Rotas no Laravel ➢ Onde fica o routes ? ○ O caminho para o routes no Laravel 5 mudou para: ■ app/Http/routes.php ➢ Tipos de rotas Laravel ○ GET, POST, PUT E DELETE ➢ E como eu forneço um parâmetro em minha rota ? ○ Basta que em sua rota você informe o parâmetro, por exemplo: rota/{parametro} ○ E para opcionais: rota/{parametro?} ○ É possível utilizar rota?parametro=valor ! ➢ Agrupamento de rotas, será que vale a pena ? ○ Nem deveria ter esse questionamento ! ○ Como eu faço então ? ■ O que precisa é usar o group da rota e especificar o nome do seu grupo: Route::group[‘as’ => ‘legal’] ➢ Apenas um lembrete funciona para: middleware e namespaces
  • 11. Verificando comandos disponíveis do artisan ➢ O que é o Artisan ? ➢Artisan é a nomenclatura para a linha de comando que é incluída no Laravel. ➢ Para verificar os comandos disponíveis basta executar: ➢php artisan ou php artisan list
  • 12. Configurando meu banco de dados ➢ Com seu Environment configurado a base já esta correta, sendo possível executar o comando: ➢ php artisan migrate:install ➢ Criando sua primeira model: ➢php artisan make:model (seu model) ➢ E para criar a tabela: ➢php artisan migrate
  • 13. O que são Migrations ➢ O recurso migrations do Laravel serve para, gerenciar as mudanças que ocorrem na estrutura do nosso banco de dados, ou seja, irá gerenciar nossas tabelas, colunas e índices. ➢ Qual a vantagem ? - Ser um DBA ? ○ Nós podemos ter exatamente a versão da estrutura de base, logo, se for necessário podemos realizar um “roll back“ da nossa estrutura. ○ Para executar um “roll back” basta executar o comando: ■ php artisan migrate:rollback
  • 14. Conheça o Tinker ➢ Primeiramente o que é o tinker ? ○ Apenas um console interativo que vem com o Laravel para ajudar, por exemplo, a testar sua nova model ! ➢ Como chamo o tinker ? ○ Basta você executar no seu terminal o comando: ■ php artisan tinker ➢ Exemplo de execução do Tinker:
  • 15. Exemplo de execução 1. php artisan tinker 2. Psy Shell v0.4.4 (PHP 5.6.4 — cli) by Justin Hileman 3. >>> use SeuAPPConfiguradoPalestra; 4. => false 5. >>> $palestra = new Palestra(); 6. => <AppPalestra #00000q0001er5f71000000023a0f17v9> {} 7. >>> $palestra->nome = "Laravel 5: Entenda o ambiente e a estrutura MVC"; 8. => "Laravel 5: Entenda o ambiente e a estrutura MVC" 9. $palestra->descricao = "Laravel é legal mesmo!"; 10.=> "Laravel é legal mesmo!" 11.>>> $palestra->save(); 12.=> true
  • 16. Controllers no Laravel ➢ Em nossa aplicação possui a responsabilidade de ser o interpretador, ou seja, recebe nossa requisição e fica responsável por chamar: Nossas Models, consultar e persistir dados e também por oferecer nossas respostas. ○ Vamos focar em receber uma requisição e encaminhar para nossa controller e responder de três formas diferentes, que são: ■ HTML ■ Json ■ E chamando nossa view
  • 17. Comando para criação do seu Controller ➢ Como vimos anteriormente ao executar o comando: ○ php artisan ou php artisan list - É retornado a lista de comandos, existe um quem nós chama a atenção para o nosso caso atual que é o comando make:controller: ■ php artisan make:controller SeuNomeDeController ➢ Ao executar esse comando ele irá criar o seu controller porém será criada seguindo o padrão Restful. ➢ Existe uma forma de contornar isso, basta que ao criar seu Controller você coloque após o nome da Controller: --plain ○ php artisan make:controller SeuNomeDeController -- plain
  • 18. Como fica as ações de uma Controller Restful
  • 19. Retornando um HTML ➢ Primeiramente seus controllers estão no caminho: ○ app/Http/Controllers ➢ Exemplo de controller retornando o HTML: ○ Controller criada usando: --plain !
  • 20. Retornando um JSON ➢ Não precisa de muita mágica / método para retornar o Json, por que o Laravel sabe que ao retornarmos um objeto ou um array, em nossa ação, ele irá retornar o Json que você precisa:
  • 21. Sobre as Views Laravel ➢ Antes de mais nada onde estão as Views ? ○ No Laravel 5 nossas views ficam no caminho: ■ resources ou recursos - resources/views ➢ A template engine que o Laravel utiliza é a blade, por isso em alguns arquivos existe: ○ .blade.php ➢ Posso utilizar outro template engine ? - Sim ! ➢ Sou obrigado a utilizar .blade ? - Não, porém você perde os facilitadores do Laravel para inserção de códigos PHP.
  • 22. Retornando para a VIEW ➢ Sem muita mágica o retorno para a View é bem simples:
  • 23. Como renderizar os dados ? ➢ Para exibirmos os dados criados nos controllers iremos criar nossas Views no caminho: ○ resources/views/palestra.blade.php ➢ Exemplo sem o blade:
  • 24. Como renderizar os dados ? ➢ Exemplo com o blade:
  • 25. Contatos MDBA ➢ Linkedin - https://br.linkedin.com/in/michaeldouglasbarbosa ➢ Facebook: https://www.facebook.com/mdbaweb ➢ Twitter: https://twitter.com/mdba_php ➢ Github: https://github.com/michaeldouglas ➢ E-mail: michaeldouglas010790@gmail.com Obrigado Galera !