Alura > Cursos de Programação > Cursos de PHP > Conteúdos de PHP > Primeiras aulas do curso Laravel: criando uma aplicação com MVC

Laravel: criando uma aplicação com MVC

Conhecendo o Laravel - Apresentação

Olá pessoal, sejam muito bem-vindos a Alura, eu sou o Vinícius Dias, e vou guiar vocês nesse treinamento onde vamos começar conhecer sobre o Laravel, antes de qualquer coisa, vamos entender o que é o Laravel.

E vamos conversar sobre o que é um framework, porque o Laravel é um framework PHP, e ele é um framework full stack, então não só vamos escrever código em PHP, mas também vamos aprender um pouco de como o Laravel nos ajuda na parte do front-end.

Mas antes disso tudo, vamos ver, como funciona o sistema de roteamento do Laravel, como podemos criar controllers, e vamos inclusive falar sobre boas práticas na hora de nomear os métodos de nossos controllers.

Depois passamos para a parte da view e vamos conhecer uma outra forma de escrever o nosso HTML utilizando as ferramentas que o Laravel fornece, principalmente o blade.

Depois voltando para parte realmente do front-end, vamos conhecer um pouco do Laravel Mix, e vamos utilizar ele para instalar e configurar o Bootstrap na nossa aplicação, com o Bootstrap configurado, vamos deixar a nossa aplicação pelo menos utilizável, já que eu não sou um grande designer, mas para isso, para ela realmente ser utilizável, vamos precisar de um banco de dados.

Então nesse treinamento vamos utilizar um banco super simples que vai ser criado utilizando o Laravel, e ele vai ser acessado também utilizando as ferramentas do Laravel.

E no final, esse vai ser o resultado, vamos conseguir cadastrar séries que já assistimos, ou quer assistir, então por exemplo, se eu quero adicionar um novo seriado aqui, eu posso simplesmente adicionar, e eu vou ser redirecionado para nossa lista de seriados com ele já ordenados em ordem alfabética e personalizados bonitos, utilizando Bootstrap.

Então esse é o resultado final desse primeiro treinamento, porque eu digo primeiro? Porque nesse treinamento você não vai aprender tudo que há para saber sobre Laravel, você vai dar seus primeiros passos, entender como aplicar toda aquela estrutura de MVC utilizando Laravel, você vai conhecer várias facilidades que esse framework trás.

Para que você entenda isso, é importante que você já saiba bem, não só a sintaxe do PHP, mas também o princípio de orientação a objetos, eu preciso que você pelo menos conheça bem sobre o paradigma de orientação a objetos, para isso, dá uma olhada nos treinamentos aqui na Alura, e eu preciso que você entenda sobre MVC, porque eu não vou falar muito sobre a teoria por trás do MVC, então eu super recomendo que você também faça o treinamento de MVC aqui da Alura.

Se você quiser entender ainda mais, tem vários treinamentos que você pode fazer que inclusive eu vou citando durante esse, mas o ponto é, aqui você vai com certeza dar seus primeiros passos com Laravel, e em outros treinamento futuros você vai se aprofundar ainda mais.

Então espero que você goste bastante, que você consiga aprender bastante, e se durante esse treinamento qualquer dúvida surgir, não hesite, você pode abrir uma dúvida aqui no fórum da Alura, eu tento responder pessoalmente sempre que possível, mas quando eu não consigo, temos uma vasta comunidade de alunos, moderadores, instrutores e com certeza alguém vai poder te ajudar.

Também faço o convite para você entrar no server do Discord que a Alura tem, porque lá você consegue uma comunicação um pouco mais ágil, mas também, e com certeza alguém vai conseguir te ajudar.

Dados todos os recados e dando uma olhadinha no spoiler do que vamos fazer nesse treinamento, vamos partir para o próximo vídeo para entendermos melhor o que é um framework PHP e como ele pode nos ajudar, focando claro, no Laravel.

Conhecendo o Laravel - O que é um framework?

E aí pessoal, bem-vindos de volta, e antes de começarmos a escrever código com Laravel, ou pelo menos instalar o Laravel, vamos entender o que é o Laravel, então dando uma olhada aqui na página oficial, que é laravel.com, ele nos diz que é um Framework PHP, para artesãos da web.

Então vamos entender um pouco melhor essa frase aqui, esse slogan do Laravel, primeiro ele diz que ele é um framework PHP, e o que seria? O que significa ser um framework PHP, o que é um framework em mundo de tecnologia?

Fizemos até aqui, sistemas, sites, ou alguns códigos, utilizando bibliotecas externas, por exemplo, no nosso curso de MVC, utilizamos algumas bibliotecas para lidar com rotas e etc. Então já sabemos o que é uma biblioteca no mundo PHP, chamamos de componentes inclusive, aprendemos bastante sobre composer, mas uma biblioteca, ou um componente que é como chamamos em PHP, é um código externo, um código que outras pessoas criaram e que eu utilizando o meu código, vou chamar, então utilizando o código que eu estou escrevendo, eu vou executar essa biblioteca externa.

Um framework por definição, é um código que outra pessoa também criou, que outra equipe criou, e que vai chamar o meu código, o que isso quer dizer? Um framework, é um pedaço de código, é um código maior vamos dizer assim, escrito por outras pessoas que vai lidar com muita coisa, então por exemplo, um framework PHP, que é um framework web, o que ele vai fazer?

Toda aquela parte que escrevemos na index do nosso curso de MVC, onde recebemos a requisição, transformamos a requisição em um objeto, verifica se a página existe, se aquela rota existe, carrega as configurações, carrega as dependências que temos e instancia nosso controller e executa ele.

Então o nosso código, código que vamos escrever, vai estar sendo escrito lá no nosso controller, vai ser uma classe que vamos criar de negócios e etc., mas todo esse trabalho de receber uma requisição web, transformar ela em um objeto, fazer as validações da requisição, garantir que a rota existe, configurar injeção de dependência, realizar log, tratar erro, isso tudo é o framework que vai fazer, nesse caso o Laravel.

Então basicamente o Laravel é uma ferramenta que executa várias tarefas que precisaríamos fazer, e que nos tiraria o foco do principal, que é resolver algum problema, que é efetivamente criar código próprio para o nosso problema, e não código genérico.

Então um framework como o Laravel, resolve problemas como, realizar log, tratar erros, exibir esses erros de forma mais amigável para vermos como corrigir, acesso ao banco de dados de forma facilitada, para inclusive não precisarmos escrever SQL, e diversas outras coisas, lidar com fila de trabalhos, mensageria e etc., então várias dessas tarefas do dia a dia, tarefas mais genéricas já são resolvidas pelo framework.

E aqui no caso de Laravel, o Laravel é um framework full stack, o que isso quer dizer? Utilizando as ferramentas que o Laravel fornece, nós vamos escrever uma aplicação só, que possui o back-end, com nossas regras de negócio, e o front-end com nosso HTML, visualização.

Então não vamos ter aqui somente por exemplo, uma API escrita em PHP, e um front-end escrito com algum framework front e etc., como React, Angular, Vue, não é isso que vamos fazer nesse treinamento, Vinícius, quer dizer que não é possível criar APIs utilizando o Laravel? É perfeitamente possível, só que vamos utilizar aqui o Laravel como um framework full stack, porque dessa forma vamos aprender ainda mais coisas.

Mas então basicamente com Laravel conseguimos escrever o código de back-end que executa as regras de negócio, e também temos facilidade de front-end, para escrevermos nosso HTML, lidar com as dependências de front-end inclusive.

Então vamos ver tudo isso como fazer tudo isso com Laravel, mas o primeiro passo para utilizarmos Laravel, é instalar o Laravel, então é exatamente essa instalação que vamos fazer no próximo vídeo.

Conhecendo o Laravel - Instalando o Laravel

E aí pessoal, bem-vindos de volta, então vamos instalar o Laravel para podermos começar a escrever código e executar alguma coisa utilizando ele, então vamos lá, vou clicar aqui em “Get started” e existem algumas formas de instalar o Laravel, mas primeiro a documentação vai te mostrar motivos para você utilizar Laravel, então é interessante você pelo menos passar o olho e ver aqui as vantagens de se utilizar esse framework.

Eu expliquei no vídeo anterior as vantagens de se utilizar algum framework, então eu falei que vamos ter várias facilidades ao utilizar um framework, mas existem vários no mercado, então porque o Laravel? E aqui existem algumas vantagens do Laravel em si, então alguns motivos para você utilizar o Laravel.

E eu já te adianto que uma das principais vantagens é a comunidade muito grande, muitas pessoas utilizam o Laravel, então vai ser fácil encontrar ajuda para esse tipo de ferramenta, mas indo ao ponto de instalação, aqui você pode ver que existem guias para vocês instalarem em cada um dos sistemas diferentes.

Só que o que acontece? Esses guias estão utilizando uma ferramenta bem interessante, chamada Laravel Sail, esse Sail utiliza Docker por baixo dos panos, então isso eu precisaria partir do princípio que você tem o Docker instalado, que você pelo menos saiba o que é Docker.

E caso não seja o seu caso, não tem problema nenhum, vamos fazer aqui uma instalação que não depende do Docker, que você não precise instalar o Sail por exemplo, então vamos direto aqui nessa última opção que é a instalação via composer.

Com essa forma de instalação, vamos ter tudo na nossa máquina mesmo, vamos executar o servidor na nossa máquina, sem utilizar nenhum container do Docker, ou coisa do tipo, então para isso vamos executar esse comando aqui, composer create-project laravel/laravel, o que isso faz?

Lá no nosso treinamento de composer, nunca executamos esse comando aqui, esse create-project, faz o que? Ele dá uma olhada nesse repositório, nesse pacote que tem lá no packages que vimos como funciona, só que esse pacote ele é especial, ele é um projeto que possui somente outras dependências e uma estrutura inicial, como se fosse uma base para criarmos um projeto novo e é exatamente isso que queremos, a base do framework Laravel.

Então vamos utilizar esse comando, e aqui podemos dar o nome da pasta que vai ser criada, é importante citar que no momento da gravação desse vídeo, a versão mais nova do Laravel é a versão 9, então eu recomendo que você utilize essa mesma versão, mas muito provavelmente tudo que vamos fazer nesse treinamento vai continuar sendo válido, porque vamos entender a base de como o framework funciona e não tantas especificidades que podem mudar com o tempo, mas para você saber estamos utilizando a versão 9 do framework.

Então vamos lá, eu vou colar esse comando, e aqui ele copiou também uma quebra de linha, eu não quero isso, porque eu quero modificar esse example app, para controle-series, por exemplo, porque vamos criar um software que controla séries.

Então se eu assisto muitos seriados, e esses seriados tem vários episódios, temporadas, demora para lançar a próxima temporada, eu quero controlar quais temporadas eu já assisti, quantos episódios faltam, e etc., e é isso que eu vou fazer utilizando Laravel.

Rodando esse comando aqui, ele vai levar um tempo, mas ele vai baixar o projeto Laravel, vai trazer para minha máquina, e subir esse projeto com tudo que precisamos para executar um software utilizando Laravel, então enquanto esse projeto vai sendo baixado para o nosso computador, e isso vai levar um tempo, eu já vou abrindo a minha IDE, você pode utilizar o visual Studio Code, você pode utilizar Sublime, ou PHP Storm, ou o que você quiser, mas eu vou abrir esse projeto aqui utilizando PHP Storm que é a IDE que eu utilizo.

Então aquele projeto eu estou baixando em “Documents > code > cursos > controle-series” então quando eu dou um ok, ele vai abrir esse projeto, está abrindo aqui na outra tela, ele vai carregar e repara que mesmo ainda fazendo os downloads, a estrutura inicial do framework já foi carregada, então deixa eu abrir isso daqui de uma forma que você consiga ver com mais facilidade e vamos abrir aqui a nossa estrutura de pastas.

O que significa cada coisa aqui? Então na raiz, vocês já devem conhecer algumas coisas, por exemplo, “phpunit.xml”, temos treinamento de PHPUnit onde você entende o que isso significa, aqui em “composer.lock”, “composer.json”, vocês já sabem o que significa lá dos cursos de Composer.

Temos detalhes também de front-end que vamos falar um pouco, tem um comando do Laravel que dá várias facilidades para nós, vamos utilizar muito esse comando, que se chama artesan, ou artesão em português, mas vamos trabalhar dentro de alguma dessas pastas.

Então vamos entender, aqui na lateral esquerda em vendor temos os pacotes que vamos instalar ou já foram instalados pelo Laravel, storage, não vamos usar nesse treinamento mas é onde armazenaríamos imagens que talvez queiramos manipular, coisas que nossos usuários fizeram uploads, esse tipo de coisa.

Aqui temos a configuração das rotas, já vamos ver como fazer isso, temos recursos que estão relacionados ao front-end, a pasta pública que vai ser acessível pelo servidor web, podemos falar mais sobre isso lá para o futuro, detalhes sobre tradução, se quisermos ter o nosso sistema em vários idiomas, configurações do banco de dados.

E aqui configurações, realmente vamos passar um tempo aqui dentro, onde podemos configurar diversas coisas, desde como o framework em si funciona até em qual banco de dados ele vai se conectar e etc.

Aqui em Bootstrap é basicamente o que o Laravel precisa para iniciar, esse Bootstrap é de início, e aqui dentro é onde vamos morar, aqui é onde vamos escrever o nosso código.

Então dentro da pasta “app”, vamos escrever tudo que precisamos, sejam coisas relacionadas a http, como por exemplo os nossos controllers, que já aprendemos no MVC, sejam classes que tem alguma relação com a camada de model que também aprendemos no MVC, sejam coisas mais específicas do framework, como por exemplo providers, ou coisas assim, criar exceções, etc., qualquer código que vamos criar, vai ficar aqui dentro de “app”.

Então entendi essa estrutura, o nosso código já finalizou aqui, ele já terminou de rodar, e olha que interessante, antigamente era necessário que executássemos esse comando aqui na mão, o que esse comando faz? Ele gera uma chave para o Laravel utilizar e fazer ou criptografia de dados, ou até hashing de senha, mas aqui como estamos utilizando composer para instalar na versão mais nova, ele já roda esse comando para nós.

Mas eu falei bastante, vimos a estrutura de pastas, agora vamos executar esse projeto, e até escrever o código nosso para entender como tudo funciona, mas isso no próximo vídeo.

Sobre o curso Laravel: criando uma aplicação com MVC

O curso Laravel: criando uma aplicação com MVC possui 121 minutos de vídeos, em um total de 52 atividades. Gostou? Conheça nossos outros cursos de PHP em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda PHP acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas