Getting Started with symfony

Os ambientes

You are currently browsing
the website for symfony 1

Visit the Symfony2 website


About

You are currently reading "Getting Started with symfony" which is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.

Tutorial Content

Master symfony

Be trained by SensioLabs experts (2 to 6 day sessions -- French or English).
trainings.sensiolabs.com

Books on symfony

Learn more about symfony with the official guides.
books.sensiolabs.com

L'audit Qualité par SensioLabs

200 points de contrôle de votre applicatif web.
audit.sensiolabs.com
symfony training
Be trained by symfony experts
Feb 21: Köln (Getting Started with Symfony2 - English)
Feb 27: Köln (Mastering Symfony2 - English)
Mar 05: Köln (Web Development with Symfony2 - Deutsch)
Mar 05: Montreal (Web Development with Symfony2 - English)
Mar 05: Montreal (Getting Started with Symfony2 - English)
and more...

Search


powered by google
You are currently browsing "Getting Started with symfony" in Brazilian Portuguese for the 1.2 version - Switch to language:
Creative Commons License This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.
This version of symfony is not maintained anymore.
If some of your projects still use this version, consider upgrading as soon as possible.

Se você olhar o diretório web/, você encontrará dois arquivos PHP: index.php e frontend_dev.php. Esses arquivos são chamados de front controllers; todas as chamadas para a aplicação são feitas através deles. Mas, por que nós temos dois "front controllers" diferentes para cada aplicação?

Ambos os arquivos apontam para a mesmo aplicação, mas para diferentes ambientes. Quando vocÊ desenvolve uma aplicação, ao não ser que você desenvolva direto no servidor de produção, você precisa de alguns ambientes:

O que torna um ambiente único? No ambiente de desenvolvimento, por exemplo, a aplicação deve logar todos os detalhes de uma chamada visando facilitar o debug. O cache precisa estar desabilitado por completo para todas as alterações surtirem efeito em tempo real. Entao, um ambiente de desenvolvimento precisa ser otimizado para o desenvolvedor. O melhor exemplo é quando ocorre algum erro. Para ajudar o desenvolvedor a corrigir os erros mais rápido, o symfony mostra a "exception" com todas as informações detalhadas da chamada no browser:

An exception in the dev environment

Mas, no ambiente de produção, o cache deve estar ativado e , é claro, a aplicação deve mostrar erros personalizados ao invés de "exceptions". Entao, o ambiente de produção deve ser otimizado para performance e ao usuário final.

An exception in the prod environment

DICA Se você abrir um arquivo "front controller", você poderá ver que a única diferença entre eles é a configuração que determina o ambiente:

// web/index.php
<?php
 
require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');
 
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', false);
sfContext::createInstance($configuration)->dispatch();

A barra de debug é um bom exemplo da utilização de ambientes. Ela está presente em todas as páginas do ambiente de desenvolvimento e fornece acesso para todas as informações do framework. Há diversas abas que permitem esta navegação: configuração da aplicação, logs, SQL executados no banco de dados, alocação de memória e informações de tempo.

Próximo passo? »
« Configuração do Web Server

Questions & Feedback

If you find a typo or an error, please register and open a ticket.

If you need support or have a technical question, please post to the official user mailing-list.