SlideShare ist ein Scribd-Unternehmen logo
1 von 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 !

Weitere ähnliche Inhalte

Was ist angesagt?

Javaセキュアコーディングセミナー東京第1回 講義
Javaセキュアコーディングセミナー東京第1回 講義Javaセキュアコーディングセミナー東京第1回 講義
Javaセキュアコーディングセミナー東京第1回 講義
JPCERT Coordination Center
 
Alphorm.com Formation JavaFX
Alphorm.com Formation JavaFXAlphorm.com Formation JavaFX
Alphorm.com Formation JavaFX
Alphorm
 

Was ist angesagt? (20)

Introdução Vue JS
Introdução Vue JSIntrodução Vue JS
Introdução Vue JS
 
Introduction to laravel framework
Introduction to laravel frameworkIntroduction to laravel framework
Introduction to laravel framework
 
Javaセキュアコーディングセミナー東京第1回 講義
Javaセキュアコーディングセミナー東京第1回 講義Javaセキュアコーディングセミナー東京第1回 講義
Javaセキュアコーディングセミナー東京第1回 講義
 
Flyway
FlywayFlyway
Flyway
 
What-is-Laravel-23-August-2017.pptx
What-is-Laravel-23-August-2017.pptxWhat-is-Laravel-23-August-2017.pptx
What-is-Laravel-23-August-2017.pptx
 
Alphorm.com Formation JavaFX
Alphorm.com Formation JavaFXAlphorm.com Formation JavaFX
Alphorm.com Formation JavaFX
 
Controle de versão com Git
Controle de versão com GitControle de versão com Git
Controle de versão com Git
 
Zookeeper 활용 nifi clustering
Zookeeper 활용 nifi clusteringZookeeper 활용 nifi clustering
Zookeeper 활용 nifi clustering
 
realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係
 
Come Fly With Me: Database Migration Patterns with Flyway
Come Fly With Me: Database Migration Patterns with FlywayCome Fly With Me: Database Migration Patterns with Flyway
Come Fly With Me: Database Migration Patterns with Flyway
 
Kubernetes & helm 활용
Kubernetes & helm 활용Kubernetes & helm 활용
Kubernetes & helm 활용
 
애자일 안한 이야기
애자일 안한 이야기애자일 안한 이야기
애자일 안한 이야기
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
 
Introdução ao Spring Framework
Introdução ao Spring FrameworkIntrodução ao Spring Framework
Introdução ao Spring Framework
 
Git e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilGit e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código Fácil
 
Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기
 
Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성
 
TDC Finops na pratica
TDC Finops na praticaTDC Finops na pratica
TDC Finops na pratica
 
寫給大家的 Git 教學
寫給大家的 Git 教學寫給大家的 Git 教學
寫給大家的 Git 教學
 
Workshop Microservices - Construindo APIs RESTful com Spring Boot
Workshop Microservices - Construindo APIs RESTful com Spring BootWorkshop Microservices - Construindo APIs RESTful com Spring Boot
Workshop Microservices - Construindo APIs RESTful com Spring Boot
 

Andere mochten auch

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
Leonardo Lourenço Silva
 
(Intercon) wordpress como framework de desenvolvimento
(Intercon) wordpress como framework de desenvolvimento(Intercon) wordpress como framework de desenvolvimento
(Intercon) wordpress como framework de desenvolvimento
Ricardo Zein
 

Andere mochten auch (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
 
Laravel 5
Laravel 5Laravel 5
Laravel 5
 
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...
 

Ähnlich wie Laravel 5: Entenda o ambiente e a estrutura MVC

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
elliando dias
 
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
Rangel Javier
 
Php5 Orientado A Objetos
Php5 Orientado A ObjetosPhp5 Orientado A Objetos
Php5 Orientado A Objetos
Rápido Site
 
OOP (in portuguese)
OOP (in portuguese)OOP (in portuguese)
OOP (in portuguese)
Bruno Pedro
 

Ähnlich wie Laravel 5: Entenda o ambiente e a estrutura 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
 

Kürzlich hochgeladen

Kürzlich hochgeladen (6)

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

Laravel 5: Entenda o ambiente e a estrutura 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 !