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 !

Laravel 5: Entenda o ambiente e a estrutura MVC

  • 1.
  • 2.
    Quem sou eu? ➢ Apenas um Analista desenvolvedor PHP ➢ Trabalho no: Pravaler
  • 3.
  • 4.
    Por que oLaravel ?
  • 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 noLaravel ➢ Saiba mais sobre o comando: laravel new ➢ Para testar nossa nova aplicação basta executar o comando: ○ php artisan serve
  • 7.
    A nova estruturado 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 ➢Nolaravel 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 doartisan ➢ 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 bancode 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ãoMigrations ➢ 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çãodo 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 asaçõ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 ViewsLaravel ➢ 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 aVIEW ➢ Sem muita mágica o retorno para a View é bem simples:
  • 23.
    Como renderizar osdados ? ➢ 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 osdados ? ➢ 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 !