Symfony Framework - Introdução

Este artigo, apresenta uma breve introdução ao Framework Symfony, importante ferramenta para
desenvolvimento ágil na linguagem PHP.

[ Hits: 21.096 ]

Por: Fernando Dutra Neres em 12/03/2012


Instalação



Então vamos ao que interessa, a instalação.

Para que fique claro, estou usando o seguinte ambiente:
  • Ubuntu 11.10
  • Apache 2
  • PHP 5.3
  • MySQL 5.1

1) O primeiro passo, é fazer download do pacote do Symfony. Para este artigo, vou utilizar a versão 1.4.16, segue a URL abaixo:
2) Supondo que você está usando o diretório padrão "/var/www" para raiz do Apache, rode os comandos abaixo para criar os diretórios da aplicação:

# mkdir -p /var/www/vol/lib/vendor

Diretórios criados:
+ vol
+---+ lib
+------+ vendor

3) Vá até o diretório onde foi baixando o pacote do Symfony, e rode o comando abaixo para extrair os arquivo:

tar -zxvf symfony-1.4.16.tgz

4) Em seguida, mova a pasta criada após a extração para o diretório "/var/www/vol/lib/vendor":

# cp -R symfony-1.4.16 /var/www/vol/lib/vendor/

5) Agora, vamos renomear a pasta "/var/www/vol/lib/vendor/symfony-1.4.16" para "/var/www/vol/lib/vendor/symfony":

# mv /var/www/vol/lib/vendor/symfony-1.4.16/ /var/www/vol/lib/vendor/symfony

6) Pronto, já podemos gerar o nosso projeto. Rode os seguintes comando:

# cd /var/www/vol
# php lib/vendor/symfony/data/bin/symfony generate:project vol


Você vai perceber que foram gerados vários diretórios e arquivos dentro do diretório "/var/www/vol", nosso projeto está criado, agora vamos criar nossa aplicação:

# ./symfony generate:app frontend

Geramos um aplicativo chamado: frontend.

7) Neste ponto, vamos adicionar um novo Host no arquivo "/etc/hosts" e Virtualhost para este domínio no arquivo "/etc/apache2/httpd.conf". Adicionando o Host "vol.local":

sudo vi /etc/hosts

Adicione a seguinte linha "127.0.0.1 vol.local" ao arquivo e salve-o, com isto, criamos um novo Host chamado "vol.local" para a máquina local.

Adicionando um novo Virtualhost:

sudo vi /etc/apache2/httpd.conf

O seu arquivo deve ficar semelhante a:

<VirtualHost *:80>
  ServerName localhost
  DocumentRoot "/var/www"
  <Directory "/var/www">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

<VirtualHost *:80>
  ServerName vol.local
  DocumentRoot "/var/www/vol/web"
  DirectoryIndex index.php
  <Directory "/var/www/vol/web">
    AllowOverride All
    Allow from All
  </Directory>

  Alias /sf /var/www/vol/lib/vendor/symfony/data/web/sf
  <Directory "/var/www/vol/lib/vendor/symfony/data/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>


Para aplicar as novas configurações de Host e Virtualhost, precisamos reiniciar o Apache:

sudo service apache2 restart

Ou:

sudo /etc/init.d/apache2 restart

8) Se você fez tudo certo, o Symfony já está instalado. Para testar, acesse a URL http://vol.local em seu navegador, caso esteja tudo funcionando normalmente, será exibida a seguinte tela:

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação
   3. Gerando um simples CRUD (Create, Read, Update e Delete)
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Usando classes em conexão e consultas à banco de dados em PHP

Debugando aplicações PHP com Xdebug e Eclipse PDT

Utilizando o Smarty template no PHP

Cadastro e login em PHP

Usando cache na classe Fast Template

  
Comentários
[1] Comentário enviado por nandodutra em 13/03/2012 - 09:37h

Olá, percebi que após a revisão dos moderadores o código do arquivo <b><i>/etc/apache2/httpd.conf</i></b> ficou desconfigurado, segue abaixo o código correto:

<VirtualHost *:80>
ServerName localhost
DocumentRoot "/var/www"
<Directory "/var/www">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>

<VirtualHost *:80>
ServerName vol.local
DocumentRoot "/var/www/vol/web"
DirectoryIndex index.php
<Directory "/var/www/vol/web">
AllowOverride All
Allow from All
</Directory>

Alias /sf /var/www/vol/lib/vendor/symfony/data/web/sf
<Directory "/var/www/vol/lib/vendor/symfony/data/web/sf">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>

[2] Comentário enviado por removido em 16/03/2012 - 19:10h

Corrigido.

A Tag usada na formatação HTML para destacar o Script, causou conflito com os sinais '<' e '>'.


Quando houver problemas, reporte à Moderação.

Um abraço, Fernando.

[3] Comentário enviado por albertguedes em 17/03/2012 - 02:22h

Eu fiquei interessado no Symphony, mas uso a tempo o Zend.
É possível dizer quais vantagens e desvantagens sobre o Zend, ou pelo menos em qual ocasião o Symphoni é preferível ao Zend ?

[4] Comentário enviado por nandodutra em 17/03/2012 - 08:38h

albertguedes, gosto muito do Symfony devido a facilidade de aprendizado, comunidade ativa e colaborativa, documentação clara e concisa. infelizmente não posso te dizer as vantagens com relação ao Zend, isto por que nunca o usei, até já tentei, mas como na época precisava usar um Framework PHP com urgência acabei optando por usar o CakePHP, que possui uma curva de aprendizagem menor, então há mais ou menos um ano migrei para o Synfony e não me arrependo. Caso tenha alguma dúvida estou a disposição para ajudar.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts