Tableless

Busca Menu

Iniciando com Symfony 2

Seja o primeiro a comentar por

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.

Iniciando

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:

$ mkdir tableless

Após a criação da pasta, vamos entrar na mesma, com o comando:

$ cd tableless

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:
Download do Symfony

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:

$ composer create-project symfony/framework-standard-edition symfony/

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.

Instalação do symfony

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!

$ Would you like to install Acme demo bundle? [y/N]:N

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.

$ database_driver (pdo_mysql):

3º – Nos pergunta qual o host do banco de dados, como estamos em localhost apenas damos um enter.

$ database_host (127.0.0.1):

4º – Qual a porta que vamos usar, por defult vamos deixar como está, e damos um Enter

$ database_port (null)

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.

$ database_name (symfony):

6º – Qual o nome do nosso usuário do banco, no meu caso vou deixar como está, meu usuário é root, damos um enter.

$ database_user (root):

7º – Qual é nossa senha, no meu caso é root, deixo assim em ambiente de desenvolvimento, digito root e dou enter.

$ database_password (null): root

8º – Nos pergunta sobre nossos dados de e-mail, vamos apenas dar um enter, pois não vamos usar agora.

$ mailer_transport (smtp):

9º – Qual o host de e-mail, apenas damos um enter.

$ mailer_host (127.0.0.1):

10º – Nos pergunta sobre o usuário de e-mail, damos enter.

$ mailer_user (null):

11º – Nos pergunta sobre a senha, enter.

$ mailer_password (null):

12º – Sobre localidade, e digitamos pt_BR, e enter

$ locale (en): pt_BR

13º – Nos pergunta sobre a chave secreta de nossa aplicação, vamos deixar como está, apenas damos um enter.

$ secret (ThisTokenIsNotSoSecretChangeIt):

Segue a imagem para comparação, se tudo ocorreu bem, ficará assim:

Instalando Symfony

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:

$ php -S 127.0.0.1:8080

ou

$ php -S 127.0.0.1:8080 -t public_html/

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:

$ cd symfony

e digitamos:

$ php app/console server:run

e teremos a resposta:

$ Server running on http://127.0.0.1:800

Abrimos nosso navegador e digitamos a url: http://127.0.0.1:8000/
E Pronto!

Página do Symfony

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:
http://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!

Olhando rapidamente para a debug toolbar

A debug toolbar é uma barra de ferramentas do Symfony, fantástica, que nos traz informações valiosas.

Debug toolbar Symfony2

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:

Iniciando com Symfony 2
=======================

http://tableless.com.br/
-----------------------

**Tutorial do Portal Tableless**

>1º -  *Iniciando com Symfony 2*

Podemos modificar o conteúdo do arquivo composer.json somente as linhas 2 e 5.
De:

"name": "symfony/framework-standard-edition",
"description": "The \"Symfony Standard Edition\" distribution",

Para:

"name": "tableless/iniciando-com-Symfony",
"description": "Tableless: Iniciando com Framework Symfony 2",

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!

Publicado no dia