segunda-feira, 17 de novembro de 2014

Inicializando o Zend Framework

O controller do Zend Framework, Zend_Controller é projetado para dar suporte a websites com urls limpas. Para alcançar isso, todas as requisições precisam passar por um único arquivo 
chamado index.php, conhecido como bootstraper. Isto nos provê um ponto central para todas 
as páginas da aplicação e garante que o ambiente está configurado corretamente para rodar a 
aplicação. Nós alcançamos isso usando um arquivo .htaccess no diretório raiz zf-tutorial: 

zf-tutorial/.htaccess 
RewriteEngine on 
RewriteRule .* index.php 
php_flag magic_quotes_gpc off 
php_flag register_globals off 

A RewriteRule é muito simples e pode ser interpretada como “para qualquer url, redirecione 
para index.php”. 
Nós também setamos um par de diretivas php para segurança e sanidade. Estes valores já 
deveriam estar setados corretamente no php.ini, mas nós queremos ter certeza disso. Note que 
a flag php_flag no .htaccess só funcionará se você estiver usando mod_php. Se você usa 
CGI/FastCGI, então você deverá se certificar que o seu php.ini está correto. 
Porém, requisições para imagens, arquivos JavaScript e CSS não deverão ser redirecionados 
para o nosso arquivo de inicialização. Mantendo estes arquivos dentro do subdiretório público, 
nós podemos facilmente configurar o Apache para servir estes arquivos diretamente com outro 
arquivo .htaccess em zf-tutorial/public: 

zf-tutorial/public/.htaccess 
RewriteEngine off 
Apesar de não ser estritamente necessário, nós podemos adicionar mais um par de arquivos 
.htaccess para garantir que nossos diretórios application and library estejam protegidos: 
zf-tutorial/application/.htaccess 
deny from all 
zf-tutorial/library/.htaccess 
deny from all 

Note que para que os arquivos .htaccess sejam usados pelo Apache Note that for .htaccess , a 
diretiva de configuração AllowOverride precisa estar setada como All no seu arquivo httpd.conf. 
A idéia aqui apresentada de usar múltiplos arquivos .htaccess é do artigo Blueprint for PHP 
Applications: Bootstrapping de Jayson Minard”.

Nenhum comentário:

Postar um comentário