Primeiras aulas do curso Laravel parte 1: Produtividade no desenvolvimento web

Laravel parte 1: Produtividade no desenvolvimento web

Conhecendo o Laravel - Introdução

Sejam bem vindos a mais um treinamento da Alura! Meu nome é Vinicius Dias, e eu sou um grande fã de seriados, assistindo vários junto com a minha namorada. Nesse processo, nós acabamos nos perdendo em relação a quais séries já assistimos, em que temporada ou episódio paramos, etc. Por isso, ela sugeriu que eu criasse um sistema para controlar quais episódios já foram assistidos.

A ideia é criar uma aplicação simples e de rápido desenvolvimento. Em PHP, existem vários frameworks que permitem agilizar o desenvolvimento. Um deles é o Laravel, um framework full stack - ou seja, que nos dá ferramentas para desenvolver tanto a lógica da aplicação (em PHP) quanto o front-end (em HTML), além de dispor de muitas facilidades de acesso a bancos de dados (com ORM).

Na primeira parte do treinamento, a nossa aplicação já será capaz de controlar quais séries estamos assistindo, com a possibilidade de adicionar novas séries (incluindo mensagens de sucesso ou erro), com interação com Javascript (para excluir séries), validações dos dados, traduções dessas regras, entre outras features. Com isso, aprendemos bastante do mundo Lavarel.

Se tiver dúvidas durante o curso, não deixe de procurar o nosso fórum. Bons estudos!

Conhecendo o Laravel - Preparando o ambiente

Para começarmos a trabalhar, precisamos conhecer o ambiente que deverá ser instalado na máquina.

Obviamente, temos que ter o PHP instalado, o que pode ser feito acessando o site do PHP e instalando a versão mais recente na aba "Downloads" - que, no momento da gravação desse curso, é a 7.3.3. Versões mais recentes podem ser utilizadas sem problemas.

Em sistemas operacionais Linux ou Mac, a instalação do PHP é bastante simplificada, bastando apenas um comando. No Windows, você precisará baixar e extrair o arquivo php-7.3.3-nts-Win32=VC15-x64.zip. Em seguida, você deverá abrir o menu Iniciar e procurar por "Editar as variáveis de ambiente para a sua conta".

Na janela que se abrirá, você procurará por "Path" e clicará em "Editar", exibindo uma lista de caminhos. Clicando em "Novo", você terá que adicionar o caminho da pasta onde acabou de extrair o arquivo zipado. O próximo passo é abrir o Prompt de Comandoe digitar o comando php -v para indicar a versão do PHP que está sendo utilizada. Isso confirmará que o PHP foi instalado com sucesso.

Antes de continuarmos, será necessário fazer uma configuração. Na pasta onde o PHP foi extraído, você deverá procurar o arquivo php.ini-development. Esse arquivo deverá ser copiado e colado com o nome php.ini. Em seguida, você deverá abrir o arquivo com qualquer editor de texto e procurar (Ctrl + F) a linha ";extension=pdo_sqlite", e então deletar o ponto e vírgula (;) no início dela. Isso habilitará a extensão que faz a conexão do PHP com o SQLite.

O próximo será instalar o Composer. Para isso, você deverá acessar o site do Composer e clicar em "Download". No Linux e no Mac, bastará copiar o código em "Command-line installation" e executá-lo no terminal. No Windows, basta baixar e executar o instalador Composer-Setup.exe.

Feito isso, você terá acesso ao comando composer --version, que retornará a versão do Composer, garantindo que ele foi instalado com sucesso. Mas o que é o Composer? O Composer é uma ferramenta da linha de comando do PHP que traz algumas facilidades, dentre elas gerenciar dependências - ou seja, criar um projeto, baixar uma dependência para um projeto já existente, entre outras.

Com tudo instalado, o próximo passo será iniciarmos um projeto com Laravel. Para isso, segundo a própria documentação do Laravel, teremos que instalá-lo. Repare que essa documentação pede o PHP na versão 7.1.3 ou acima, além de outras extensões com as quais não iremos nos preocupar agora. Além disso, é indicado que o Composer é necessário para a instalação do Laravel, e acabamos de fazer isso.

Existem duas opções para iniciar um projeto com Laravel: baixar o instalador ou criar um novo projeto diretamente, que é o que faremos. Para isso, copiaremos o comando composer create-project --prefer-dist laravel/laravel e o executaremos no Prompt de Comando. O trecho prefer-dist significa que iremos utilizar a versão mais recente do Laravel e de todas as dependências, excluindo versões beta (de teste). Após esse código, devemos informar o nome do projeto que queremos criar. Como queremos uma aplicação que controlará seriados e episódios assistidos, vamos chamá-lo de controle-series.

Para que o treinamento seja executado sem o risco de erros, vamos fixar a versão do Laravel que será utilizada, definindo-a com o comando 5.8.*. Dessa forma, o projeto será criado na versão mais recente do Laravel 5.8. Assim, teremos:

composer create-project --prefer-dist laravel/laravel controle-series 5.8.*

Dessa forma, o Composer vai pegar a estrutura do projeto no github do Laravel e, a partir dela, instalará todas as dependências que esse framework precisa para rodar. Depois de instaladas as dependências, teremos um projeto já meio configurado para iniciarmos o desenvolvimento.

Enquanto o Composer carrega essas informações, abriremos o PhpStorm (ou outro editor de código da sua preferência). Abriremos então a pasta onde executamos o comando create-project e acessaremos "controle-series", uma pasta criada pelo Laravel (e que pode ser aberta mesmo que o Composer ainda esteja sendo executado no fundo).

Com o nosso ambiente configurado e o projeto já inicializado, o próximo passo será começarmos a praticar. Até o próximo vídeo!

Conhecendo o Laravel - Introdução ao Laravel

Quando o Composer terminar de rodar, teremos todo o projeto Laravel já configurado e poderemos analisar os arquivos dele.

Na pasta "app" será armazenada toda a lógica da nossa aplicação; em "config" temos os arquivos de configuração; dentro dela, em "database", teremos vários arquivos que nos auxiliarão a manipular o banco de dados; e em "resources" teremos toda a parte que será visualizada pelo cliente, ou seja, views, CSS, etc.

Vamos conversar mais detalhadamente sobre a pasta "routes" ("rotas"). Quando desenvolvemos para a Web, queremos que algo aconteça quando acessarmos uma URL, o que significa que teremos que definir uma rota. É dentro dessa pasta que essas rotas serão definidas. Note que já existem diversos arquivos dentro dela. Se estivéssemos desenvolvimento apenas uma api, sem a parte de view, o arquivo api.php seria utilizado (seguindo algumas regras específicas). Já se tivéssemos um programa na linha de comando, poderíamos utilizar o arquivo console.php.

Como estamos criando uma aplicação completa na web, usaremos o web.php. Nesse arquivo, temos uma rota para o verbo get do HTTP. Quando acessarmos a rota /, o PHP executará a função function () que retorna uma view chamada welcome. Parece bem autoexplicativo, não? Tentaremos visualizar essa operação, e para isso precisaremos subir um servidor.

De volta ao terminal, limparemos o Prompt de Comando utilizando cls (no Windows) ou clear (nas outras plataformas). Entraremos na pasta que foi criada com o comando create project, que eu, no caso, chamei de "controle-series". Nesse ponto, poderíamos executar php -S localhost:8080 -t public para subirmos um servidor de teste do PHP na porta 8080 e mandarmos as requisições para a pasta "public".

Porém, o Laravel nos traz uma facilidade, chamada Artisan, que é uma ferramenta da linha de comando que nos disponibiliza algumas funcionalidades - dentre elas a de subir um servidor. Portanto, executaremos php artisan serve para subirmos um servidor de desenvolvimento no caminho http://127.0.0.1:8000. Se abrirmos o navegador e acessarmos http://localhost:8000, receberemos justamente a view que foi montada pelo Laravel, exibindo alguns links, como a documentação do framework, o blog, o Laracast, entre outros.

No momento, não queremos exibir essa página do Laravel, mas sim uma página que nós mesmos criamos. Faremos isso criando uma nova rota em web.php com o verbo HTTP get, o caminho da rota (/ola) e uma função que retorna echo "Olá Mundo!":

Route::get('/ola', function () {
    echo "Olá Mundo!";
});

Salvaremos as alterações e acessaremos o endereço http://localhost:8000/ola, sem que seja necessário reiniciarmos o servidor. Como resultado, a mensagem "Olá Mundo!" será exibida na tela.

Em algumas máquinas do Windows, o servidor integrado do PHP pode travar. Se isso acontecer, basta abrir o terminal e pressionar "Ctrl + C" para destravá-lo.

Se fizermos alguma modificação, por exemplo "Olá Alura!", poderemos atualizar a página diretamente para que a mensagem seja exibida, sem reiniciar o servidor.

Já entendemos um pouco de como o Laravel funciona: temos um arquivo que define as rotas para um programa Web, e nesse arquivo podemos definir uma URL e o que será exibido nela. Sabendo disso, vamos começar efetivamente o nosso projeto.

Criaremos uma URL /series que receberá um array de séries ($series) no qual colocaremos alguns seriados, como Grey's Anatomy, Lost e Agents of SHIELD.

Route::get('/series', function () {
    $series = [
        'Grey\'s Anatomy',
        'Lost',
        'Agents of SHIELD'
    ];
});

Na nossa rota, podemos exibir um HTML. Montaremos então uma lista com esses seriados. Para isso, vamos concatenar um item de lista para cada item no array $series, que é exatamente a $serie em questão. Dessa forma, estaremos construindo a variável $html, e poderemos exibi-la com echo $html:

$html = "<ul>";
foreach ($series as $serie){
    $html .="<li>$serie</li>";
}
$html .= "</ul>

echo $html;

Se acessarmos http://localhost:8000/series, a lista que acabamos de criar será exibida. Ou seja, com o Laravel, é possível executar um código a partir de uma rota, e nesse código podemos exibir um HTML. Para isso, ao invés de utilizarmos o echo, podemos também retornar o HTML que foi montado:

Route::get('/series', function () {
    $series = [
        'Grey\'s Anatomy',
        'Lost',
        'Agents of SHIELD'
    ];

    $html = "<ul>";
    foreach ($series as $serie){
      $html .="<li>$serie</li>";
    }
    $html .= "</ul>";

    return $html;
});

Mas será que teremos que criar todas as lógicas da nossa aplicação (criar nova série, buscar temporadas, etc.) no arquivo web.php? Vamos pensar em uma solução melhor na próxima aula.

Sobre o curso Laravel parte 1: Produtividade no desenvolvimento web

O curso Laravel parte 1: Produtividade no desenvolvimento web possui 136 minutos de vídeos, em um total de 58 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!

  • 1056 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 1056 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 1056 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 1056 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Procurando planos para empresas?
Acesso por 1 ano
Estude 24h/dia onde e quando quiser
Novos cursos toda semana