SlideShare a Scribd company logo
1 of 38
Laravel 5
Desenvolvimento rápido e simples
O que é o PHP?
PHP é um acrônimo recursivo para PHP: Hypertext Prepocessor.
Linguagem server-side para desenvolvimento web.
Começou a ser desenvolvido em 1995 por Rasmus Lerdorf.
Atualmente a última versão lançada é a 5.6.13.
A versão 7 já está em fase de Alpha Release
O que é o Laravel?
O Laravel é um framework em PHP baseado no conceito de RAD (Rapid
Application Development).
Desenvolvido por Taylor Otwell.
Possui código aberto e uma comunidade ativa.
Utiliza o composer, fornecendo todo o poder das demais bibliotecas escritas
para PHP.
O que é um framework?
Framework é um “esqueleto”, um modelo que nos propicia o essencial para
desenvolver alguma coisa.
DRY
Don’t Repeat Yourself
A maior parte das aplicações web precisa
de:
Login de usuários.
CRUD’s
Integrações com redes sociais.
Operações de banco de dados.
Envio de e-mails.
Notificações para os usuários.
Por que então precisamos
reescrever essas funcionalidades
a cada novo projeto?
Não Precisamos!!!
O que é o composer?
Gerenciador de dependências para aplicações PHP.
Não precisamos ter nossas dependências juntas com o projeto, podemos
instalar utilizando o composer.
Qualquer pessoa pode escrever uma biblioteca para PHP e publicá-la para
que todos possam utilizá-la.
laravel.com
Utilizando Homestead
Ambiente vagrant preparado para aplicações Laravel.
Contém todas as dependências necessárias para executar o Laravel.
Podemos recriar a máquina virtual a hora que acharmos conveniente.
Ajuda a diminuir problema com o Deploy.
Criando nossa primeira aplicação Laravel
Estrutura de pastas
Estrutura de pastas
Ponto de Entrada: rotas
As rotas são o ponto de entrada para uma aplicação Laravel.
Através das rotas direcionamos as requisições dos nossos usuários para os
controladores corretos.
Podemos utilizar closures do PHP no arquivo de rotas PARA FINS DE
TESTES, pois esta não é uma boa prática.
app/Http/routes.php
Roteamento
Controllers
O que são controllers?
Controllers são responsáveis por “controlar” a nossa aplicação.
Eles recebem a requisição e a direcionam para o local correto.
É uma boa prática manter o controller com pouco código, deixando-o mais
limpo.
Criando controllers
Views
O que são views?
Views contém a apresentação da nossa
aplicação para o usuário (HTML, CSS,
Javascript, etc).
Migrations
O que são migrations?
Migrations servem para que possamos ter um controle das alterações no
banco de dados.
Com as migrations podemos “versionar” o estado do nosso banco de dados.
São uma maneira prática de compartilhar entre a equipe o banco de dados.
Facilitam também o deploy da aplicação, auxiliando na automatização deste
processo.
Criando migrations
Executando migrations
Voltando migrations
Eloquent
O que é o Eloquent?
Eloquent é o ORM do Laravel.
É uma abstração do banco de dados, serve como uma camada intermediária
pra que não tenhamos que escrever queries diretamente.
Facilita a manipulação dos dados e também caso seja necessário
mudarmos o banco de dados utilizado.
Seeds
O que são seeds?
Seeds são uma maneira de popularmos nosso banco de dados com
informações.
Podemos utilizar informações falsas para nos auxiliar no processo de
desenvolvimento.
Temos a ajuda da biblioteca “Faker” para a criação de informações de
exemplo.
Form Requests
O que são Form Requests?
Form Requests nos auxiliam na função de validação e
autorização de requisições.
Criando Form Requests
Como me aprofundar no Laravel?
Documentação: http://laravel.com/docs/5.1
Documentação em Português: http://laravel-docs.artesaos.org/docs/5.1
Slack do Laravel-Br: http://slack.laravel.com.br/
Laravel News: https://laravel-news.com/
Laracasts: http://laracasts.com/
Contato
E-mail: lucaspgois@gmail.com
Twitter: @lukz_
Slack do Laravel-BR: @lukz

More Related Content

What's hot

Indicadores para APIs
Indicadores para APIsIndicadores para APIs
Indicadores para APIsSensedia
 
Cracking OCA and OCP Java 8 Exams
Cracking OCA and OCP Java 8 ExamsCracking OCA and OCP Java 8 Exams
Cracking OCA and OCP Java 8 ExamsGanesh Samarthyam
 
Laravel development (Laravel History, Environment Setup & Laravel Installatio...
Laravel development (Laravel History, Environment Setup & Laravel Installatio...Laravel development (Laravel History, Environment Setup & Laravel Installatio...
Laravel development (Laravel History, Environment Setup & Laravel Installatio...Dilouar Hossain
 
Zoom sur le Métier de Développeur
Zoom sur le Métier de DéveloppeurZoom sur le Métier de Développeur
Zoom sur le Métier de DéveloppeurANAPEC
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices Bozhidar Bozhanov
 
Understanding Reactive Programming
Understanding Reactive ProgrammingUnderstanding Reactive Programming
Understanding Reactive ProgrammingAndres Almiray
 
Concorrência na Linguagem de Programação
Concorrência na Linguagem de ProgramaçãoConcorrência na Linguagem de Programação
Concorrência na Linguagem de ProgramaçãoAlexsandro Pereira
 
エンジニアのための勉強会 #3 『RESTful API』
エンジニアのための勉強会 #3 『RESTful API』エンジニアのための勉強会 #3 『RESTful API』
エンジニアのための勉強会 #3 『RESTful API』Naoki Yoshitake
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservicesAnil Allewar
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services WebLilia Sfaxi
 
Single Responsibility Principle
Single Responsibility PrincipleSingle Responsibility Principle
Single Responsibility PrincipleEyal Golan
 
Uml Diagramas Estruturais
Uml   Diagramas EstruturaisUml   Diagramas Estruturais
Uml Diagramas Estruturaisthaisedd
 
Netflix Massively Scalable, Highly Available, Immutable Infrastructure
Netflix Massively Scalable, Highly Available, Immutable InfrastructureNetflix Massively Scalable, Highly Available, Immutable Infrastructure
Netflix Massively Scalable, Highly Available, Immutable InfrastructureAmer Ather
 
Open source apm scouter를 통한 관제 관리 jadecross 정환열 수석
Open source apm scouter를 통한 관제  관리 jadecross 정환열 수석Open source apm scouter를 통한 관제  관리 jadecross 정환열 수석
Open source apm scouter를 통한 관제 관리 jadecross 정환열 수석uEngine Solutions
 

What's hot (20)

Indicadores para APIs
Indicadores para APIsIndicadores para APIs
Indicadores para APIs
 
Cracking OCA and OCP Java 8 Exams
Cracking OCA and OCP Java 8 ExamsCracking OCA and OCP Java 8 Exams
Cracking OCA and OCP Java 8 Exams
 
Laravel development (Laravel History, Environment Setup & Laravel Installatio...
Laravel development (Laravel History, Environment Setup & Laravel Installatio...Laravel development (Laravel History, Environment Setup & Laravel Installatio...
Laravel development (Laravel History, Environment Setup & Laravel Installatio...
 
Zoom sur le Métier de Développeur
Zoom sur le Métier de DéveloppeurZoom sur le Métier de Développeur
Zoom sur le Métier de Développeur
 
Monoliths and Microservices
Monoliths and Microservices Monoliths and Microservices
Monoliths and Microservices
 
Doing REST Right
Doing REST RightDoing REST Right
Doing REST Right
 
Understanding Reactive Programming
Understanding Reactive ProgrammingUnderstanding Reactive Programming
Understanding Reactive Programming
 
Concorrência na Linguagem de Programação
Concorrência na Linguagem de ProgramaçãoConcorrência na Linguagem de Programação
Concorrência na Linguagem de Programação
 
Soap
SoapSoap
Soap
 
エンジニアのための勉強会 #3 『RESTful API』
エンジニアのための勉強会 #3 『RESTful API』エンジニアのための勉強会 #3 『RESTful API』
エンジニアのための勉強会 #3 『RESTful API』
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
 
Presentation Spring
Presentation SpringPresentation Spring
Presentation Spring
 
Single Responsibility Principle
Single Responsibility PrincipleSingle Responsibility Principle
Single Responsibility Principle
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Uml Diagramas Estruturais
Uml   Diagramas EstruturaisUml   Diagramas Estruturais
Uml Diagramas Estruturais
 
Netflix Massively Scalable, Highly Available, Immutable Infrastructure
Netflix Massively Scalable, Highly Available, Immutable InfrastructureNetflix Massively Scalable, Highly Available, Immutable Infrastructure
Netflix Massively Scalable, Highly Available, Immutable Infrastructure
 
Web services SOAP et REST
Web services  SOAP et RESTWeb services  SOAP et REST
Web services SOAP et REST
 
Open source apm scouter를 통한 관제 관리 jadecross 정환열 수석
Open source apm scouter를 통한 관제  관리 jadecross 정환열 수석Open source apm scouter를 통한 관제  관리 jadecross 정환열 수석
Open source apm scouter를 통한 관제 관리 jadecross 정환열 수석
 

Similar to Laravel 5

Similar to Laravel 5 (20)

Minicurso Aplicação Web Utilizando o Framework Laravel
Minicurso Aplicação Web Utilizando o Framework LaravelMinicurso Aplicação Web Utilizando o Framework Laravel
Minicurso Aplicação Web Utilizando o Framework Laravel
 
A Linguagem Php
A Linguagem PhpA Linguagem Php
A Linguagem Php
 
FISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHPFISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHP
 
Rails asservice
Rails asserviceRails asservice
Rails asservice
 
Desenvolvimento web ágil e descomplicado usando ruby on rails
Desenvolvimento web ágil e descomplicado usando ruby on railsDesenvolvimento web ágil e descomplicado usando ruby on rails
Desenvolvimento web ágil e descomplicado usando ruby on rails
 
Apresentação faef
Apresentação faefApresentação faef
Apresentação faef
 
Palestra Sobre REST
Palestra Sobre RESTPalestra Sobre REST
Palestra Sobre REST
 
Apresentação faef
Apresentação faefApresentação faef
Apresentação faef
 
Manual PHP
Manual PHPManual PHP
Manual PHP
 
Páginas dinâmicas
Páginas dinâmicasPáginas dinâmicas
Páginas dinâmicas
 
Apache e Java
Apache e JavaApache e Java
Apache e Java
 
Webservices e Computação em Nuvem com PHP
Webservices e Computação em Nuvem com PHPWebservices e Computação em Nuvem com PHP
Webservices e Computação em Nuvem com PHP
 
Desenvolvendo com Java Open Source
Desenvolvendo com Java Open SourceDesenvolvendo com Java Open Source
Desenvolvendo com Java Open Source
 
Cursos
CursosCursos
Cursos
 
Fundamentos em Containers
Fundamentos em ContainersFundamentos em Containers
Fundamentos em Containers
 
Apache PHP MySQL
Apache  PHP  MySQLApache  PHP  MySQL
Apache PHP MySQL
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01
 
Aula 01 introdução ao php
Aula 01   introdução ao phpAula 01   introdução ao php
Aula 01 introdução ao php
 
Laravel 5
Laravel 5Laravel 5
Laravel 5
 
Apresentação final
Apresentação finalApresentação final
Apresentação final
 

Recently uploaded

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.docx2m Assessoria
 
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.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
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.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
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 exemploDanilo Pinotti
 
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.docx2m Assessoria
 
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 CalisthenicsDanilo Pinotti
 

Recently uploaded (8)

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
 
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
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
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
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
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 - 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
 
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
 

Laravel 5

  • 2. O que é o PHP? PHP é um acrônimo recursivo para PHP: Hypertext Prepocessor. Linguagem server-side para desenvolvimento web. Começou a ser desenvolvido em 1995 por Rasmus Lerdorf. Atualmente a última versão lançada é a 5.6.13. A versão 7 já está em fase de Alpha Release
  • 3. O que é o Laravel? O Laravel é um framework em PHP baseado no conceito de RAD (Rapid Application Development). Desenvolvido por Taylor Otwell. Possui código aberto e uma comunidade ativa. Utiliza o composer, fornecendo todo o poder das demais bibliotecas escritas para PHP.
  • 4. O que é um framework? Framework é um “esqueleto”, um modelo que nos propicia o essencial para desenvolver alguma coisa.
  • 6. A maior parte das aplicações web precisa de: Login de usuários. CRUD’s Integrações com redes sociais. Operações de banco de dados. Envio de e-mails. Notificações para os usuários.
  • 7. Por que então precisamos reescrever essas funcionalidades a cada novo projeto?
  • 9. O que é o composer? Gerenciador de dependências para aplicações PHP. Não precisamos ter nossas dependências juntas com o projeto, podemos instalar utilizando o composer. Qualquer pessoa pode escrever uma biblioteca para PHP e publicá-la para que todos possam utilizá-la.
  • 10.
  • 12.
  • 13. Utilizando Homestead Ambiente vagrant preparado para aplicações Laravel. Contém todas as dependências necessárias para executar o Laravel. Podemos recriar a máquina virtual a hora que acharmos conveniente. Ajuda a diminuir problema com o Deploy.
  • 14. Criando nossa primeira aplicação Laravel
  • 17. Ponto de Entrada: rotas As rotas são o ponto de entrada para uma aplicação Laravel. Através das rotas direcionamos as requisições dos nossos usuários para os controladores corretos. Podemos utilizar closures do PHP no arquivo de rotas PARA FINS DE TESTES, pois esta não é uma boa prática.
  • 21. O que são controllers? Controllers são responsáveis por “controlar” a nossa aplicação. Eles recebem a requisição e a direcionam para o local correto. É uma boa prática manter o controller com pouco código, deixando-o mais limpo.
  • 23. Views
  • 24. O que são views? Views contém a apresentação da nossa aplicação para o usuário (HTML, CSS, Javascript, etc).
  • 26. O que são migrations? Migrations servem para que possamos ter um controle das alterações no banco de dados. Com as migrations podemos “versionar” o estado do nosso banco de dados. São uma maneira prática de compartilhar entre a equipe o banco de dados. Facilitam também o deploy da aplicação, auxiliando na automatização deste processo.
  • 31. O que é o Eloquent? Eloquent é o ORM do Laravel. É uma abstração do banco de dados, serve como uma camada intermediária pra que não tenhamos que escrever queries diretamente. Facilita a manipulação dos dados e também caso seja necessário mudarmos o banco de dados utilizado.
  • 32. Seeds
  • 33. O que são seeds? Seeds são uma maneira de popularmos nosso banco de dados com informações. Podemos utilizar informações falsas para nos auxiliar no processo de desenvolvimento. Temos a ajuda da biblioteca “Faker” para a criação de informações de exemplo.
  • 35. O que são Form Requests? Form Requests nos auxiliam na função de validação e autorização de requisições.
  • 37. Como me aprofundar no Laravel? Documentação: http://laravel.com/docs/5.1 Documentação em Português: http://laravel-docs.artesaos.org/docs/5.1 Slack do Laravel-Br: http://slack.laravel.com.br/ Laravel News: https://laravel-news.com/ Laracasts: http://laracasts.com/