Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Laravel 5: Entenda o ambiente e a estrutura MVC

Laravel 5: Entenda o ambiente e a estrutura MVC

Apresentação para o meetup de Laravel, sobre o assunto de estrutura do Laravel 5 e o novo ambiente MVC.

Other Decks in Education

Transcript

  1. 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 ?
  2. Seu APP no Laravel ➢ Saiba mais sobre o comando:

    laravel new ➢ Para testar nossa nova aplicação basta executar o comando: ◦ php artisan serve
  3. 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.
  4. 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
  5. 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:
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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:
  11. Exemplo de execução 1. php artisan tinker 2. Psy Shell

    v0.4.4 (PHP 5.6.4 — cli) by Justin Hileman 3. >>> use SeuAPPConfigurado\Palestra; 4. => false 5. >>> $palestra = new Palestra(); 6. => <App\Palestra #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
  12. 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
  13. 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
  14. Retornando um HTML ➢ Primeiramente seus controllers estão no caminho:

    ◦ app/Http/Controllers ➢ Exemplo de controller retornando o HTML: ◦ Controller criada usando: --plain !
  15. 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:
  16. 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.
  17. 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:
  18. 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: [email protected] Obrigado Galera !