Como instalar o Symfony

André Chaves
Code Maestro
Published in
4 min readFeb 5, 2018

Todo software precisa ser instalado. O symfony 4 não podia ser diferente, não é mesmo?

No processo de instalação a única ferramenta necessária é o composer, gerenciador de dependências mais famoso da comunidade PHP.

Mãos na massa

Vamos criar um projeto chamado tiktok, um gerenciador de lançamento de horas e funcionários que vamos desenvolver ao longo dos primeiros posts aqui no blog.

Criar o projeto não podia ser mais fácil, basta rodar o comando composer create-project.

composer create-project symfony/skeleton tiktok

Com isso, a gente já tem o skeleton-app! Um pontapé inicial com o mínimo necessário para desenvolver qualquer aplicação. Na raiz ficam os 6 diretórios base do framework:

estrutura de pastas do Symfony 4

Um pouco sobre a estrutura de pastas

A pasta bin tem o arquivo console.php, um conjunto de comandos executáveis no terminal.

Em config é possível configurar ambientes diferentes para desenvolvimento, teste e produção em relação a tudo do sistema.

Public contém o index.php, o arquivo que gerencia todas as requisições da aplicação (e aqui também vão os arquivos públicos como html, css e js).

Na pasta src vem a parte que os desenvolvedores back-end gostam. É ali que colocamos nossas classes de modelo, controller, serviços, etc.

Por ultimo, e não menos importante, vem o diretorio var, no qual ficam armazenados os caches e logs do sistema e vendor, a pasta na qual o composer guarda todas as nossas dependências.

Ok, e como roda?

Para executar nossa aplicação, basta rodarmos na pasta raiz do projeto o comando:

php -S localhost:8000 -t public

resultado do comando standalone do php

Aqui estamos utilizando o servidor standalone do proprio php para gerenciar o servidor. Para parar o servidor basta apertar Ctrl+C no terminal.

Mas, e se eu quiser especificar a porta?

Nesse caso, precisamos apenas indicar o ip e a porta. Se eu quisesse, por exemplo, deixar o servidor disponível em todos os ips locais na porta 3000 bastaria:

php -S 0.0.0:3000 -t public

resultado do comando standalone do php em todos os ips locais

E qualquer um conseguiria acessar a aplicação dentro da rede passando o ip da minha máquina com a porta 3000!

Esse tipo de abordagem facilita muito o compartilhamento de problemas/bugs com a equipe sem precisar levar sua máquina até alguém (ou alguém até sua máquina). Ou até mesmo para testar a responsividade de alguma pagina em um celular, já que é só acessar pelo navegador de qualquer celular e ver como está ficando a tela =)

Outra forma de subir a aplicação

A versão 4 do Symfony veio bem enxuta, sem muitas dependências, para que a gente possa decidir quais a gente quer no sistema ou não.

Mas, nas versões anteriores uma forma comum de subir a aplicação era a partir do comando:

php bin/console server:run

Para habilitar esse comando, basta incluirmos a dependencia server no projeto:

composer require server --dev

O comando server run (assim como o standalone do php) serve bem para ambientes de desenvolvimento, em produção a melhor abordagem é utilizar alguma ferramenta mais robusta como o Apache.

E já está funcionando!

Para garantir que está tudo certo, basta acessar o ip no seu navegador e ver a mensagem de bem vindo do framework. Algo como:

mensagem de bem vindo do Symfony 4

Na própria página de boas vindas já temos um link apontando para a documentação, uma excelente fonte de consulta disponível em inglês. A documentação do Symfony é uma das melhores que eu vi até hoje, contemplando praticamente todo o conteúdo do framework e até das dependências dele de forma bem didática e com exemplos práticos.

Próximos passos

Agora que temos o framework instalado, rodando e ja sabemos como funciona a estrutura de pastas, precisamos começar nosso sistema.

No próximo post vamos criar uma página para o tiktok, nosso sistema de gestão de horas e funcionarios!

E ai, o que vocês acharam do processo de instalação do Symfony 4? Encontrou algum problema no processo? Compartilha com a gente nos comentários =)

--

--

André Chaves
Code Maestro

Empreendedor, CTO, desenvolvedor e apaixonado por automação.