Capítulo 3 - Executando o Symfony

Como você aprendeu nos capítulos anteriores, o framework symfony é um conjunto de arquivos escritos em PHP. Um projeto symfony usa estes arquivo, logo instalar o symfony significa obter estes arquivos e torná-los disponíveis para o projeto.

Sendo um framework PHP 5, o symfony requer PHP 5. Certifique-se de tê-lo instalado abrindo a linha de comando e digitando o seguinte comando:

> php -v

PHP 5.2.0 (cli) (built: Nov 2 2006 11:57:36)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies

Se o número da versão for 5.0 ou maior, então você estará pronto para a instalação, como descrito neste capítulo.

Instalando a Caixa de Areia(Sandbox)

Se você apenas quiser ver o que o symfony é capaz de fazer, você provavelmente precisa de uma instalação rápida. Neste caso, você precisa da caixa de areia.

A caixa de areia é simplesmente um conjunto de arquivos compactados em um arquivo. Ela contém um projeto do symfony vazio que inclui todas as bibliotecas necessárias (symfony, pake, lime, Creole, Propel, e Phing), uma aplicação padrão, e uma configuração básica. Ela irá funcionar assim que você descompactar o arquivo, sem ser necessário nenhuma configuração específica do servidor ou quaisquer pacotes adicionais.

Para instalar, baixe o arquivo sandbox(caixa de areia) a partir do endereço http://www.symfony-project.com/get/sf_sandbox.tgz. Descompacte-o sobre o diretório raiz web do seu servidor (normalmente web/ ou www/)(também é possível descompactá-lo na pasta public_html, caso você esteja como usuário comum). Apenas por questão de uniformidade, este capítulo assumirá que você descompactou o arquivo sandbox para o diretório sf_sandbox/.

CUIDADO Ter todos os arquivos sobre o diretório web raiz é ótimo para seus próprios testes em um host local, mas é uma má prática em um servidor de produção. Isto torna todos os arquivos internos de sua aplicação visíveis aos usuários finais.

Teste sua instalação executando a CLI do symfony. Vá para o novo diretório sf_sandbox/ e digite o seguinte em um sistema *nix:

> ./symfony -V

No Windows, execute este comando:

> symfony -V

Você deve ver o número da versão instalada na caixa de areia:

symfony version 1.0.0

Agora tenha certeza que seu servidor web pode navegar na caixa de areia requisitando o seguinte URL:

http://localhost/sf_sandbox/web/frontend_dev.php/

Você deve ver uma página de parabéns que se parece com a Figura 3-1, e isto significa que sua instalação está concluída. Se não, então uma mensagem de erro irá lhe guiar através das mudanças de configuração necessárias. Você pode se referir a seção "Troubleshooting" mais tarde neste capítulo.

Figura 3-1 - Página de parabéns da caixa de areia

página de parabéns da caixa de areia(sandbox)

A caixa de areia é direcionada para que você pratique com symfony em um computador local, não para que você desenvolva aplicações complexas que podem ser publicadas na Web. Contudo, a versão do symfony que acompanha a caixa de areia é completamente funcional e equivalente a aquela que você pode instalar com o PEAR.

Para desinstalar a sandbox, apenas remova o diretório sf_sandbox/ de sua pasta web/ ou de qualquer outra pasta em que você tenha descompactado o arquivo.

Instalando as bibliotecas do Symfony

Quando você estiver desenvolvendo uma aplicação, você provavelmente irá precisar instalar symfony duas vezes: uma vez para o seu ambiente de desenvolvimento e uma vez para o servidor hospedagem (ao não ser que ser servidor já tenha o symfony instalado). Para cada servidor, você irá provavelmente querer evitar duplicação mantendo todos os arquivos do symfony em um único lugar, esteja você desenvolvendo uma única aplicação ou várias aplicações.

Já que o framework symfony evolui rapidamente, uma nova versão estável pode muito bem ser lançada apenas pouco dias depois de sua primeira instalação. Você precisa pensar na atualização do framework como uma questão primordial, e esta é uma outra razão pela qual você deve compartilhar uma instância das bibliotecas do symfony através de todos os seus projetos do symfony.

Quando chegar o momento de instalar as bibliotecas para o desenvolvimento de uma aplicação de verdade, você tem duas alternativas:

  • A instalação com PEAR, que é a recomendada para a maioria das pessoas. O symfony pode ser facilmente compartilhado e atualizado, além do processo de instalação ser direto.
  • A instalação com Subversion (SVN), que é destinada a ser usada apenas por desenvolvedores PHP avançados, que querem aproveitar-se das últimas atualizações, adicionar novos recursos próprios, e/ou contribuir com o projeto do symfony.

Symfony integra alguns outros pacotes:

  • pake, que é uma utilidade CLI.
  • lime, que é uma utilidade para teste de unidades.
  • Creole, que é um engine de abstração para banco de dados. Similar a PHP Data Objects (PDO), ele provê uma interface entre seu código e o código SQL do banco de dados, e torna possível troca-la por outra engine.
  • Propel, que é para ORM. Ele provê persistência dos objetos e serviço de consultas.
  • Phing, que é uma CLI para Propel.

Pake e lime são desenvolvidos pela equipe do symfony. Creole, Propel, e Phing vem de outra equipe e são lançados sob a GNU Lesser Public General License (LGPL). Todos estes pacotes estão integrados com o symfony.

Instalando o Symfony pelo pacote PEAR

O pacote PEAR no symfony contém as bibliotecas do symfony e todas as suas dependências. Ele também contém um script que irá extender sua CLI para incluir o comando symfony.

O primeiro passo para instalá-lo é adicionar um canal symfony ao PEAR, através do seguinte comando:

> pear channel-discover pear.symfony-project.com

Para ver as bibliotecas disponíveis neste canal, digite o seguinte:

> pear remote-list -c symfony

Agora você está pronto para instalar a última versão estável do symfony. Execute este comando:

> pear install symfony/symfony

downloading symfony-1.0.0.tgz ...
Starting to download symfony-1.0.0.tgz (1,283,270 bytes)
.................................................................
.................................................................
.............done: 1,283,270 bytes
install ok: channel://pear.symfony-project.com/symfony-1.0.0

E é isto. Os arquivos do symfony e CLI estão instalados. Verifique se a instalação foi bem sucedida tentando executar symfony na linha de comando, perguntando pelo número de sua versão:

> symfony -V

symfony version 1.0.0

DICA Se você preferir instalar a versão mais recente beta, a qual tem as últimas correções de erro e melhorias, digite pear install symfony/symfony-beta ao invés disso. As versões Beta não são completamente estáveis e normalmente não são recomendadas para ambientes de produção.

As bibliotecas do symfony estão agora instaladas nos diretórios que seguem:

  • $php_dir/symfony/ contém as bibliotecas principais.
  • $data_dir/symfony/ contém o esqueleto para as aplicações symfony; módulos padrões; e configuração, dados de i18n, e assim por diante.
  • $doc_dir/symfony/ contém a documentação.
  • $test_dir/symfony/ contém as unidades de teste.

As variáveis _dir fazem parte da sua configuração PEAR. Para ver seus valores, digite o seguinte:

> pear config-show

Instalando o Symfony a partir de um repositório SVN(Checking Out)

Para servidores de produção, ou quando PEAR não é uma opção, você pode baixar a última versão das bibliotecas do symfony diretamente a partir do repositório de subversão do symfony requisitando um checkout:

> mkdir /path/to/symfony
> cd /path/to/symfony
> svn checkout http://svn.symfony-project.com/tags/RELEASE_1_0_0/ .

O comando symfony, disponível apenas em instalações PEAR, é uma chamada ao script em /path/to/symfony/data/bin/symfony. Então a seguinte linha seria equivalente ao comando symfony -V para uma instalação SVN:

> php /path/to/symfony/data/bin/symfony -V

symfony version 1.0.0

Se você escolher uma instalação SVN, você provavelmente já tem um projeto do symfony existente. Para este projeto poder utilizar os arquivos do symfony, você precisa alterar as duas variáveis definidas no arquivo config/config.php do seu projeto, como exibido a seguir:

[php]
<?php

$sf_symfony_lib_dir  = '/path/to/symfony/lib/';
$sf_symfony_data_dir = '/path/to/symfony/data/';

O capítulo 19 propõe outras maneiras de conectar um projeto com uma instalação do symfony(incluindo ligações simbólicas e caminhos relativos).

DICA Como alternativa, você também pode baixar o pacote PEAR package (http://pear.symfony-project.com/get/symfony-1.0.0.tgz) e descompactá-lo em algum lugar. Você terá o mesmo resultado que um checkout com svn.

Configurando uma Aplicação

Como você aprendeu no capítulo 2, symfony reune várias aplicações relacionadas em um mesmo projeto. Todas as aplicações de um projeto compartilham o mesmo banco de dados. Então para que você possa configurar sua aplicação, você precisa primeiro configurar seu projeto.

Criando um Projeto

Cada projeto do symfony segue uma estrutura de diretórios pré-definida. A linha de comando do symfony automatiza a criação de novos projetos iniciando o esqueleto de um projeto, com a estrutura de diretórios apropriada e direitos de acesso. Então para criar um projeto, simplesmente crie um novo diretório e peça ao symfony para transformá-lo em um projeto.

Se você instalou o symfony com PEAR, execute estes comandos:

> mkdir ~/meuprojeto
> cd ~/meuprojeto
> symfony init-project meuprojeto

Se você instalou o symfony por SVN, crie um projeto com estes comandos:

> mkdir ~/meuprojeto
> cd ~/meuprojeto
> php /path/to/symfony/data/bin/symfony init-project meuprojeto

O comando symfony deve sempre ser chamado a partir do diretório raiz do seu projeto(meuprojeto/ neste caso), porque todas as tarefas possíveis de serem realizadas por este comando são pertinentes ao projeto.

Symfony irá criar uma estrutura de diretórios que se parece com isto:

apps/
batch/
cache/
config/
data/
doc/
lib/
log/
plugins/
test/
web/

DICA A tarefa init-project adiciona um script symfony no diretório raiz do seu projeto. Este script PHP realiza o mesmo que o comando symfony instalado pelo PEAR, então você pode executar php symfony ao invés de symfony, se você não possuir suporte nativo a linha de comando(para instalações por SVN).

Criando uma Aplicação

O projeto ainda não está pronto para ser visto, por que ele precisa de pelo menos uma aplicação. Para inicializá-lo, use o comando symfony init-app e forneça o nome da aplicação como um argumento:

> symfony init-app minhaaplic

Isto irá criar um diretório minhaaplic/ dentro da pasta apps/ na raiz do seu projeto, com uma configuração padrão para aplicação e um conjunto de diretórios prontos a armazenar os arquivos de seu website:

apps/
   minhaaplic/
    config/
    i18n/
    lib/
    modules/
    templates/

Alguns arquivos PHP correspondentes aos controladores frontais de cada ambiente padrão também são criados dentro do diretório web do projeto:

web/
  index.php
  minhaaplic_dev.php

index.php é o controlador frontal de uma nova aplicação. Porque você criou a primeira aplicação do projeto, symfony criou um arquivo chamado index.php ao invés de minhaaplic.php (se você adicionar agora uma nova aplicação chamada minhanovaaplic, o novo controlador frontal de produção será chamado de minhanovaaplic.php). Para executar sua aplicação no ambiente de desenvolvimento, chame o controlador frontal minhaaplic_dev.php. Você irá aprender mais sobre estes ambientes no Capítulo 5.

Configurando o Servidor Web

Os scripts no diretório web/ são pontos de entrada para a aplicação. Para ser capaz de accessá-los a partir da Internet, o servidor precisa estar configurado. Em seu servidor de desenvolvimento, assim como em uma solução de hospedagem profissional, você provavelmente terá acesso a configuração do Apache e você poderá configurar um host virtual. Em um servidor host compartilhado, você provavelmente tem acesso a apenas um arquivo .htaccess.

Configurando um Host Virtual

A Listagem 3-1 é um exemplo de uma configuração do Apache, em que um novo host virtual é adicionado no arquivo httpd.conf.

Listagem 3-1 - Exemplo de Configuração do Apache, em apache/conf/httpd.conf

<VirtualHost *:80>
  ServerName minhaaplic.exemplo.com
  DocumentRoot "/home/rafaelstv/meuprojeto/web"
  DirectoryIndex index.php
  Alias /sf /$sf_symfony_data_dir/web/sf
  <Directory "/$sf_symfony_data_dir/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
  <Directory "/home/rafaelstv/meuprojeto/web">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

Na configuração da Listagem 3-1, a variável $sf_symfony_data_dir deve ser substituída pelo caminho real. Por exemplo, para uma instação PEAR em sistemas *nix, você deve digitar algo como isto:

    Alias /sf /usr/local/lib/php/data/symfony/web/sf

NOTA O alias para o diretório web/sf/ não é obrigatório. Ele permite que o Apache encontre imagens, folhas de estilo, e arquivos JavaScript para a barra de ferramentas web no ambiente de desenvolvimento, no gerador de administração, nas páginas padrão do symfony, e no suporte Ajax. Uma alternativa para este alias seria criar uma ligação simbólica (symlink) ou copiar o diretório /path/to/symfony/data/web/sf/ para meuprojeto/web/sf/.

Reinicie o Apache, e é isto. Sua recém criada aplicação pode agora ser chamada e vista através de um navegador web comum na seguinte URL:

http://localhost/minhaaplic_dev.php/

Você deverá ver uma página de parabéns similar a aquela exibida mais cedo na Figura 3-1.

BARRA LATERAL Reescrita de URLs

Symfony usa a reescrita de URLs para exibir "URLs inteligentes"--endereços significativos que exibem uma aparência melhor em mecanismos de busca e escondem todos os dados técnicos do usuário. Você irá aprender mais sobre este recurso, chamado roteamento, no Capítulo 9.

Se a sua versão do Apache não está compilada com o módulo mod_rewrite, certifique-se que você tenha instalado o mod_rewrite Dynamic Shared Object (DSO) com as seguintes linhas no seu httpd.conf:

AddModule mod_rewrite.c LoadModule rewrite_module modules/mod_rewrite.so

Para o Internet Information Services (IIS), você irá precisar ter instalado e ativo o isapi/rewrite. Verifique a documentação online do symfony para um guia de instalação detalhado no IIS.

Configurando um Servidor de Hospedagem Compartilhado

Configurar uma aplicação em um servidor compartilhado é um pouco mais complicado, já que o servidor normalmente tem uma configuração de diretórios específica que você não pode mudar.

CUIDADO Realizar testes e desenvolvimento diretamente em um servidor compartilhado não é uma boa prática. Uma razão é que torna sua aplicação visível até mesmo se ela não estiver terminada, revelando seus arquivos internos e dando abertura a grandes falhas de segurança. Uma outra razão é que a performance de um servidor compartilhado frequentemente não é o suficiente para navegar em sua aplicação com a barra de ferramentas de debug eficientemente. Então você não deveria começar seu desenvolvimento com uma instalação em servidor compartilhado, mas ao invés disso, construir sua aplicação localmente e enviá-la ao servidor de hospedagem quando estiver concluída. O Capítulo 16 irá falar sobre mais técnicas de envio(deploy) e ferramentas.

Vamos imaginar que seu servidor compartilhado requer que sua pasta web seja nomeada como www/ ao invés de web/, e não lhe fornece acesso ao arquivo httpd.conf, mas apenas para um arquivo .htaccess na sua pasta web.

Em um projeto do symfony, todo caminho para um diretório é configurável. O Capítulo 19 irá falar mais sobre isso, mas enquanto isso, você pode ainda renomear o diretório web para www e fazer com que a aplicação leve isto em consideração mudando a sua configuração, como exibido na Listagem 3-2. Estas linhas devem ser adicionadas ao final do arquivo config.php.

Listagem 3-2 - Alterando a Configuração Padrão da Estrutura de Diretórios, em apps/minhaaplic/config/config.php

[php]
$sf_root_dir = sfConfig::get('sf_root_dir');
sfConfig::add(array(
  'sf_web_dir_name' => $sf_web_dir_name = 'www',
  'sf_web_dir'      => $sf_root_dir.DIRECTORY_SEPARATOR.$sf_web_dir_name,
  'sf_upload_dir'   => $sf_root_dir.DIRECTORY_SEPARATOR.$sf_web_dir_name.DIRECTORY_SEPARATOR.sfConfig::get('sf_upload_dir_name'),
));

A raiz do projeto web contém um arquivo .htaccess por padrão. Ele é exibido na Listagem 3-3. Modifique conforme necessário para ficar de acordo com os requisitos de seu servidor.

Listagem 3-3 - Configuração Padrão .htaccess, Agora em meuprojeto/www/.htaccess

Options +FollowSymLinks +ExecCGI

<IfModule mod_rewrite.c>
  RewriteEngine On

  # Nós não leremos nenhum arquivo com .algumacoisa
  RewriteCond %{REQUEST_URI} \..+$
  RewriteCond %{REQUEST_URI} !\.html$
  RewriteRule .* - [L]

  # Nós verificamos se a versão .html está aqui (em cache)
  RewriteRule ^$ index.html [QSA]
  RewriteRule ^([^.]+)$ $1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f

  # Não, então nós redirecionamos para o nosso controlador frontal
  RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

# Grande erro do nosso controlador frontal
ErrorDocument 500 "<h2>erro da Aplicação</h2>A aplicação symfony falhou em começar apropriadamente"

Você agora deve ser capaz de navegar em sua aplicação. Verifique a página de parabéns requisitando esta URL:

http://www.exemplo.com/minhaaplic_dev.php/

BARRA LATERAL Outras Configurações do Servidor

O Symfony é compatível com outras configurações do servidor. Você pode, por exemplo, acessar uma aplicação symfony usando um alias ao invés de um host virtual. Você pode também executar uma aplicação symfony com um servidor IIS. Existem várias técnicas tanto quanto existem configurações, e não é o propósito deste livro de explicar todas elas.

Para encontrar diretórios para uma configuração específica do servidor, refira-se ao wiki do symfony (http://www.symfony-project.com/trac/wiki), o qual contém vários tutoriais passo-à-passo.

Correção de Problemas

Se você encontrar problemas durante a instalação, tente retirar o máximo dos erros ou exceções exibidas pelo shell ou no navegador web. Elas normalmente são auto-explicativas e podem conter ligações para recursos específicos na Web sobre o seu problema.

Problemas Típicos

Se você ainda está tendo problemas em fazer o symfony funcionar, verifique o seguinte:

  • Algumas instalações do PHP vem com um comando do PHP 4 e do PHP 5. Neste caso, a linha de comando é provavelmente php5 ao invés de php, então tente executar php5 symfony ao invés do comando symfony. Você pode também precisar adicionar SetEnv PHP_VER 5 para a sua configuração em .htaccess, ou renomear os scripts no diretório web/ de .php para .php5. O erro exibido pela linha de comando do PHP 4 tentando acessar o symfony se parece com isto:

    Parse error, unexpected ',', expecting '(' in .../symfony.php on line 19.
    
  • O limite de memória, definido em php.ini, deve ser de pelo menos 16M. O sintoma comum para este problema é uma mensagem de erro ao tentar instalar o symfony via PEAR ou usando a linha de comando.

    Allowed memory size of 8388608 bytes exhausted
    
  • A configuração zend.ze1_compatibility_mode deve estar definida para off no seu php.ini. Se não estiver, tentar navegar para um dos scripts web irá produzir um erro de "implicit cloning":

    Strict Standards: Implicit cloning object of class 'sfTimer'because of 'zend.ze1_compatibility_mode'
    
  • Os diretórios log/ e cache/ do seu projeto devem ter permissão de escrita pelo seu servidor web. Tentar navegar em uma aplicação symfony sem estas permissões irá resultar em uma exceção:

    sfCacheException [message] Unable to write cache file"/usr/myproject/cache/frontend/prod/config/config_config_handlers.yml.php"
    
  • O caminho(path) de inclusão de seu sistema devem conter o caminho para o comando php, e o caminho de inclusão do seu php.ini deve conter o caminho para o PEAR (se você usa o PEAR).

  • Algumas vezes, existe mais de um php.ini no sistema de arquivos de um servidor(por exemplo, se você usar o pacote WAMP). Chame o comando phpinfo() para saber exatamente a localização do arquivo php.ini usado pela sua aplicação.

NOTA Embora não seja obrigatório, é fortemente recomendado, por razões de performance, definir as configurações magic_quotes_gpc e register_globals para off no seu php.ini.

Recursos do Symfony

Você pode verificar se o seu problema já aconteceu com alguém e descobrir soluções em vários lugares:

Se você não encontrar uma resposta, tente perguntar sua questão para a comunidade do symfony. Você pode postar sua pergunta no fórum, na lista de discussão, ou mesmo no canal IRC #symfony para obter uma resposta dos membros mais ativos da comunidade.

Controle de Versão

Uma vez que a configuração da aplicação estiver feita, começar um processo de controle de versões é recomendado. O controle de versão mantém uma lista de todas as modificações feitas no código, fornece acesso a versões mais antigas, facilita atualizações, e permite o trabalho em equipe eficiente. Symfony suporta nativamente o CVS, apesar de o Subversion (http://subversion.tigris.org/) ser mais recomendado. Os exemplos a seguir demonstram os comandos para o Subversion, e assumem que você já tem um servidor de Subversion(SVN) instalado em que você deseja criar um novo repositório para o seu projeto. Para usuários do Windows, um cliente de Subversion recomendado é o TortoiseSVN (http://tortoisesvn.tigris.org/). Para mais informações sobre o controle de versões e os comandos usados aqui, consulte a documentação do Subversion.

O exemplo a seguir assume que $SVNREP_DIR é definido como uma variável de ambiente. Se você não a tem definida, você irá precisar coloar a localização real do repositório no lugar de $SVNREP_DIR.

Entâo vamos criar um novo repositório para o projeto meuprojeto:

> svnadmin o create $SVNREP_DIR/meuprojeto

Então a estrutura básica (layout) do repositório é criada com os diretórios trunk, tags, e branches com este comando bastante longo:

> svn mkdir -m "layout creation" file:///$SVNREP_DIR/meuprojeto/trunk file:///$SVNREP_DIR/meuprojeto/tags file:///$SVNREP_DIR/meuprojeto/branches

Isto irá ser sua primeira revisão. Agora você precisa importar os arquivos do projeto exceto os arquivos de cache e log temporário:

> cd ~/meuprojeto
> rm -rf cache/*
> rm -rf log/*
> svn import -m "initial import" . file:///$SVNREP_DIR/meuprojeto/trunk

Verifique os arquivos enviados(committed) digitando o seguinte:

> svn ls file:///$SVNREP_DIR/meuprojeto/trunk/

Parece tudo bem. Agora o repositório SVN tem a versão de referência(e o histórico) de todos os arquivos do seu projeto. Isto significa que todos os arquivos do diretório real ~/meuprojeto/ precisam referir-se ao repositório. Para fazer isto, primeiro renomeie o diretório meuprojeto/ --você irá apagá-lo em breve se tudo ocorrer bem--e faça um checkout do repositório em um novo diretório:

> cd ~
> mv meuprojeto meuprojeto.original
> svn co file:///$SVNREP_DIR/meuprojeto/trunk meuprojeto
> ls meuprojeto

E é isto. Agora você pode trabalhar nos arquivos localizados em ~/meuprojeto/ e realizar um commit de suas modificações para o repositório. Não esqueça de fazer uma limpeza e apagar o diretório meuprojeto.original/, que agora é inútil.

Existe apenas mais uma coisa para configurar. Se você realizar um commit do seu diretório de trabalho para o repositório, você pode copiar alguns arquivos desnecessários, como aqueles localizados nos diretórios cache e log do seu projeto. Então você precisa especificar uma lista de arquivos a serem ignorados pelo SVN deste projeto. Você também precisa configurar acesso total aos diretórios cache/ e log/ mais uma vez:

> cd ~/meuprojeto
> chmod 777 cache
> chmod 777 log
> svn propedit svn:ignore log
> svn propedit svn:ignore cache

O editor de textos padrão configurado para o SVN deve ser iniciado. Se isto não acontecer, faça com que o Subversion use seu editor preferido digitando isto:

> export SVN_EDITOR=<nome do editor>
> svn propedit svn:ignore log
> svn propedit svn:ignore cache

Agora simplesmente adicione todos os arquivos dos subdiretórios de meuprojeto/ que o SVN deve ignorar quando realizar o commit:

*

Salve e saia. Está acabado.

Sumário

Para testar e executar o symfony no seu servidor local, definitivamente a melhor opção de instalação é o sandbox, que contém um ambiente symfony pré-configurado.

Para desenvolvimento real ou servidor de produção, opte pela instalação através do PEAR ou o checkout do SVN. Que instalará as bibliotecas do symfony, mas você ainda precisará inicializar um projeto e uma aplicação. O último passo na definição da aplicação é a configuração do servidor, que pode ser feita de várias formas. O symfony funciona perfeitamente em um host virtual, que é uma solução recomendada.

Se você tiver problemas durante a instalação, você irá encontrar muitos tutoriais e respostas à perguntas freqüentemente feitas no site do symfony. Caso necessário, você pode enviar seu problema para a comunidade do symfony, para obter uma resposta rápida e precisa.

Uma vez que seu projeto for iniciado, é um bom hábito iniciar um processo de controle de versão.

Agora você está pronto para usar o symfony, é hora de ver como criar uma aplicação web básica.

Attachments