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

Symfony Framework: criando uma aplicação com MVC

Conhecendo o Symfony - Apresentação

Boas-vindas ao nosso curso introdutório de Symfony! Para iniciar o treinamento, vamos entender o que é um framework PHP e como essa ferramenta pode nos ajudar a escrever um código em Symfony.

Depois disso, vamos instalar o Symfony e criar código. Desde o início, aplicaremos essa ferramenta para solucionar erros descritivos e melhorar nossa experiência.

Vamos criar nosso primeiro controller, aprender a lidar com seus detalhes, criar rotas e definir parâmetros.

Em seguida, aprenderemos a criar templates com o Symfony, que também tem muitas aplicações em gerenciamento de projetos na área de front-end.

Para finalizar o curso, exercitaremos estilização, debug e queries no framework. Faremos isso criando uma lista gerenciável de séries com o Doctrine, o ORM padrão do Symfony.

Esse treinamento nos ensinará os conhecimentos básicos da plataforma, que segue o paradigma MVC. Para realizá-lo, precisaremos de conhecimentos prévios em Composer, PHP, Orientação a Objetos e Doctrine. Claro, existem diversos outros conteúdos em Symfony que abordaremos em treinamentos futuros.

Vamos começar?

Conhecendo o Symfony - O que é um Framework?

Antes de aprender a utilizar o Symfony, vamos entender o que ele é. O site oficial do framework o apresenta como um conjunto de componentes PHP reutilizáveis. Já aprendemos a utilizar esses componentes no treinamento de Composer.

O Symfony fornece diversos desses elementos. Um exemplo é o seu cliente HTTP próprio, capaz de enviar requisições. Ele também possui um componente de roteamento para controller.

Symfony também é um framework para projetos web. Mas qual a diferença entre componentes e frameworks? Sabemos que o primeiro é um fragmento de código escrito por outra pessoa e que será executado pelo nosso próprio código. Já o framework executa os códigos feitos por nós.

Quando assume o papel de framework, o Symfony recebe a requisição, decide a configuração de rota e chama o controller criado pelo seu usuário. Portanto, ele facilita a configuração de projetos, a index conhecida como front controller e as configurações de dependência.

Além disso, ele utiliza vários componentes, como o de log e o de acesso a bancos de dados (ORM). Quando usamos um framework, esses elementos já estão presentes e devidamente configurados.

Encontramos todas essas informações na documentação do nosso framework, ao clicar na opção "What is Symfony". Na mesma área, também é possível ler sobre a comunidade de desenvolvedores Symfony e sobre a filosofia da ferramenta.

Lá, também ficamos sabendo que diversos projetos utilizam componentes do Symfony. Há três exemplos: gerenciadores de conteúdo, como Drupal; bibliotecas de e-commerce, como Prestashop; e até mesmo outros frameworks, como Laravel.

Também recomendamos a leitura dos conteúdos da seção "Symfony in 5 minutes", especialmente os que falam sobre por que e quando utilizar a ferramenta. Também devemos conferir os "Elevator Pitches", que são formas de explicar a utilização do Symfony a pessoas de diferentes níveis de conhecimento (como seu chefe, outro desenvolvedor, um administrador de sistemas e assim por diante).

Durante o treinamento, não vamos focar em componentes separados, e sim na utilização do framework como um todo.

Vamos aprender a instalar o Symfony na próxima aula e, depois, partiremos para a prática.

Conhecendo o Symfony - Instalando o Symfony

Agora que já compreendemos o Symfony e os frameworks, vamos instalar a ferramenta nos nossos computadores.

Vamos até a página de documentação no site oficial do Symfony e, lá, clicaremos em "Setup / Installation".

Para fazer o download da ferramenta, precisaremos cumprir alguns requisitos técnicos. A versão do PHP mais antiga aceita pela versão 6.1 do Symfony é a 8.1. Apesar disso, também é possível substituir o PHP por um container do Docker.

Ao instalar o PHP, também precisaremos das extensões Ctype, iconv, PCRE, Session, SimpleXML e Tokenizer. Geralmente, elas já vêm habilitadas, mas caso isso não aconteça, podemos usar o polyfill: uma funcionalidade do Symfony que substitui essas extensões por código em PHP.

Nesse caso, perderemos um pouco em performance, mas, ainda assim, as funcionalidades existirão. Em um ambiente de produção, essas funções são indispensáveis. Já em um ambiente de desenvolvimento, não são necessárias.

Vamos usar o Composer para gerenciar as dependências, como a utilização dos componentes do Symfony. Lembrando que temos na Alura treinamentos sobre o Composer.

Teremos a opção de instalar a interface de linha de comando (CLI) da plataforma, um binário que simplifica a digitação dos comandos, facilitando, por exemplo, a utilização do serviço de cloud do Symfony.

No vídeo, não a utilizaremos, mas, caso decidamos instalar a CLI, ela verificará a presença dos requerimentos necessários para executar o Symfony.

Agora, vamos criar nosso projeto. Há duas opções para fazer isso: a primeira é utilizar o binário do Symfony, mas também é possível utilizando somente o Composer, que é a maneira com a qual vamos prosseguir.

Novamente nos depararemos com duas opções. A primeira delas é criar uma aplicação web tradicional, aquilo que chamamos de framework fullstack, com back-end, rotas, controller, injeção de dependência e várias funcionalidades extras.

E a segunda opção é criarmos o projeto usando apenas o Composer. Fazendo isso, teremos um microframework sem as funcionalidades extras da primeira opção, como ORM configurado, componente de log mais complexo e componente de visualização.

Vamos seguir com a primeira opção. Para fazer isso, selecionaremos uma pasta no terminal do nosso sistema com o comando cd. Agora, vamos criar o sistema de controle de séries e acessar a pasta do projeto com um cd controle_series_symfony. Uma vez dentro da pasta, poderemos executar o comando composer require webapp para configurar os componentes disponíveis de forma padrão:

composer create-project symfony/skeleton:"6.1.*" controle_series_symfony
cd controle_series_symfony
composer require webapp

Mesmo que já existam versões mais atualizadas do framework, vamos manter a definição do skeleton na versão 6.1, utilizada no treinamento. Assim, evitamos problemas de compatibilidade.

Ao executar esses comandos, receberemos o esqueleto e as dependências iniciais do repositório do Symfony. Este é o primeiro método de instalação.

Mas, como já falamos, também é possível realizar a instalação sem receber todos os componentes disponíveis. Para isso, bastaria executar apenas o comando composer create-project symfony/skeleton:"6.1.*" controle_series_symfony no nosso terminal, mas não faremos isso.

Na sequência, o terminal nos dará a opção de utilizar o Docker no projeto. Nesse treinamento, não vamos utilizá-lo. Então, vamos responder ao questionamento com um n. Faremos isso pela linha de comando.

Para rodar o projeto, podemos chamar o servidor embutido do PHP pelo console e definir uma porta, como a 8080, para o local host:

php -S localhost:8080

Se utilizarmos o Docker, o comando do local host não funcionará. Será preciso substituí-lo pelo IP local e usar uma porta que esteja livre no computador. No vídeo, utilizamos a porta 8123. Também vamos fazer o parâmetro -t apontar para a pasta ´public´, na qual encontraremos o arquivo index.php, responsável por requisições, roteamento e por chamar o controller:

php -S 0.0.0.0:8123 -t public

Essas ações serão suficientes para subir o servidor. Agora, basta abrir http://localhost:8123 no seu navegador para usar o Symfony.

Agora que já temos o Symfony instalado, poderemos configurar uma URL, debugar, localizar o projeto e encontrar informações sobre documentação, tutoriais e comunidade. A partir do próximo vídeo, começaremos a escrever código usando o Symfony.

Sobre o curso Symfony Framework: criando uma aplicação com MVC

O curso Symfony Framework: criando uma aplicação com MVC possui 108 minutos de vídeos, em um total de 46 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!

Plus

De
R$ 1.800
12X
R$109
à vista R$1.308
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

Matricule-se

Pro

De
R$ 2.400
12X
R$149
à vista R$1.788
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Luri powered by ChatGPT

    Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com Luri até 100 mensagens por semana.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas