O symfony é um framework fullstack de aplicações web para as necessidades de alto desempenho, é um conjunto de componentes PHP, para grandes e avançados projetos, porém podemos instalar seus componentes separadamente em casos de projetos menores. É muito respeitado pela comunidade, não é apenas um Framework popular, mas também é uma das melhores plataformas para construir projetos Open-Source. Muitos projetos PHP estão incorporando alguns dos componentes ou estão usando o framework full-stack, projetos como Drupal, Laravel, entre outros, veja a lista.
Vou abordar nesse simples tutorial a instalação do Symfony, para que, em tutoriais futuros possamos dar continuidade a dicas mais avançadas.
Primeiramente vamos criar uma pasta, para que nosso projeto se mantenha organizado, digitando o comando no terminal:
Após a criação da pasta, vamos entrar na mesma, com o comando:
Instalação
Vamos instalar o Symfony via composer, caso não o conheça, ou tenha dúvidas, leia este post (Composer para iniciantes). Para fazermos o Download do Symfony entramos no site e copiamos o comando, como na imagem abaixo:
Vamos trocar o final do código, onde está path/ vamos colocar symfony/ que será a pasta onde instalaremos o Symfony, o comando ficará assim:
Ao darmos enter, a instalação irá começar como na imagem abaixo, isso poderá demorar alguns minutos, já que o composer irá baixar a distribuição padrão do Symfony, juntamente com todas as suas bibliotecas.
Ao baixar todos os componentes, a instalação do symfony vai nos fazer diversas perguntas.
1º – Gostaria de instalar Acme demo bundle? [y/N] digitamos “N” e damos enter.
O Acme demo bundle é apenas uma demonstração de alguns recursos que podemos trabalhar, e nesse caso não vamos instalar!
2º – O symfony nos pergunta qual o drive de banco de dados que vamos utilizar.
Em nosso caso vamos usar o PDO, que hoje é basicamente um padrão do PHP, e o próprio symfony nos recomenda, damos apenas um enter para continuar.
3º – Nos pergunta qual o host do banco de dados, como estamos em localhost apenas damos um enter.
4º – Qual a porta que vamos usar, por defult vamos deixar como está, e damos um Enter
5º – Qual o nome do banco de dados vamos usar, nesse caso, vamos deixar como está, mas você pode utilizar o nome que quiser, e damos enter.
6º – Qual o nome do nosso usuário do banco, no meu caso vou deixar como está, meu usuário é root, damos um enter.
7º – Qual é nossa senha, no meu caso é root, deixo assim em ambiente de desenvolvimento, digito root e dou enter.
8º – Nos pergunta sobre nossos dados de e-mail, vamos apenas dar um enter, pois não vamos usar agora.
9º – Qual o host de e-mail, apenas damos um enter.
10º – Nos pergunta sobre o usuário de e-mail, damos enter.
11º – Nos pergunta sobre a senha, enter.
12º – Sobre localidade, e digitamos pt_BR, e enter
13º – Nos pergunta sobre a chave secreta de nossa aplicação, vamos deixar como está, apenas damos um enter.
Segue a imagem para comparação, se tudo ocorreu bem, ficará assim:
Rodando a aplicação
Pronto, o Symfony está instalado!
Para vê-lo rodando vamos iniciar nosso servidor.
A partir do PHP 5.4, o próprio vem com um servidor web embutido (PHP’s built-in Web Server). Ele pode ser usado para executar suas aplicações PHP localmente durante o desenvolvimento, para testar ou para demonstrações de aplicativos. Desta forma, você não tem que se preocupar em configurar um servidor full-featured web como o Apache ou Nginx.
Para iniciarmos o servidor do php digitamos no terminal:
ou
para indicar que seu index.php está na pasta public_html.
Mas em nosso caso, não vamos utilizar os comandos citados acima, como estamos usando o Symfony, entramos em nossa pasta, que está instalado o projeto:
e digitamos:
e teremos a resposta:
Abrimos nosso navegador e digitamos a url: https://127.0.0.1:8000/
E Pronto!
Irá aparecer um erro na tela, por não termos configurado as nossas rotas no Controller, porém sabemos que nossa aplicação está rodando. O Symfony gera uma rota de teste automaticamente, e para vermos se está tudo certo sem erros, então digitamos em nosso navegador a url:
https://127.0.0.1:8000/app/example
Aparecerá uma página em branco escrita Homepage, junto com a barra de debug do Symfony (a debug toolbar) utilizada em desenvolvimento, que estará no rodapé!
O Symfony está rodando com sucesso!
A debug toolbar é uma barra de ferramentas do Symfony, fantástica, que nos traz informações valiosas.
1 – No início temos o ícone do Symfony, que ao colocarmos o ponteiro do mouse em cima, a barra nos mostra a versão do Symfony juntamente com um link para a documentação.
2 – Informações sobre o PHP, como versão e extensões usadas, e ao clicarmos, nos retorna uma página com um phpinfo(), onde estão todas as configurações do PHP de nossa máquina.
3 – Informações a respeito da requisição principal de nossa aplicação, indicando, que estamos em ambiente de desenvolvimento e o token de requisição.
4 – Informações sobre o status code, o Controller e Action de nossa página, o nome da rota que estamos acessando e se temos ou não uma sessão.
5 – Requisições de AJAX.
6 – Tempo em que nossa página demorou pra carregar.
7 – Quantidade de memória que a aplicação utilizou.
8 – Informações, quantidade de formulários.
9 – Informação sobre autenticação, usuários anônimos, admins, etc…
10 – Informações sobre consultas no banco de dados, tempos de queries, …
Configurações básicas
Vamos deixar nosso projeto um pouco mais limpo, excluindo os arquivos de UPGRADEs.md, que não tem relevância em nossa aplicação nesse momento.
Podemos excluir os arquios:
UPGRADE.md
UPGRADE-2.2.md
UPGRADE-2.3.md
UPGRADE-2.4.md
Também vamos modificar o conteúdo do nosso arquivo README.md, lembrando que a linguagem usada nesse arquivo é Markdown, para ser lida pelo GitHub, nesse link você encontra algumas noções básicas.
Apague todo o conteúdo do arquivo, que pode ser feito por um simples editor de texto, como bloco de notas, pela IDE de sua preferência, ou até mesmo pelo vim no terminal!
E adicionamos o conteúdo abaixo:
Podemos modificar o conteúdo do arquivo composer.json somente as linhas 2 e 5.
De:
Para:
Controlando nossa aplicação
Após essas simples configurações iniciais, podemos iniciar o Git em nosso projeto, para termos maior controle sobre nossa aplicação, não abordaremos conceitos sobre Git, mas em caso de dúvidas, Consulte!
O projeto se encontra no meu GitHub, assim ficará mais fácil para você analisar, estudar e comparar os códigos como o seu projeto! Lembrando que até o momento só instalamos o Symfony2, mas nos próximos tutoriais daremos continuidade ao nossos exemplos!
Concluindo
Para finalizarmos, recomendo a documentação do Symfony, ótima para estudos!