Zend Framework
Introdução ao Zend Framework
É muito simples instalar o ZF, você apenas precisa baixá-lo em framework.zend.com e copiar a pasta principal para um nível abaixo do seu htdocs.
Ex:
/var/www/zf (arquivos do zend framework)
/var/www/htdocs/ (arquivos que são visíveis e acessíveis a quem acessará sua aplicação)
O conceito principal é: Tudo que for chamado pelo index.php (aka bootstrap), descerá um nível e acessará sua aplicação via o ZF.
Outro ponto é: ZF é baseado no conceito MVC (models, views, controllers), então ele necessita de uma estrutura de pastas um pouco diferente do que quem não utiliza esse padrão. Veja abaixo um exemplo:
Nesse post, vamos exemplificar qual é a funcão do index.php com um exemplo de configuração:
error_reporting(E_ALL|E_STRICT); // Exibe todos os errors ini_set('display_errors', 1); // configura a localização de onde está a pasta com os arquivos do ZF set_include_path('.' . PATH_SEPARATOR . '../../zf/' . PATH_SEPARATOR . '../application/default/models' . PATH_SEPARATOR . get_include_path()); require_once "Zend/Loader.php"; Zend_Loader::registerAutoload(); // load configuration $config = new Zend_Config_Ini('../application/config.ini', 'general'); $registry = Zend_Registry::getInstance(); $registry->set('config', $config); //Setup auth Session Zend_Session::start(); // setup database $db = Zend_Db::factory($config->db); Zend_Db_Table::setDefaultAdapter($db); // setup controller $frontController = Zend_Controller_Front::getInstance(); $frontController->throwExceptions(true); $frontController->setControllerDirectory('../application/default/controllers'); $layout = Zend_Layout::startMvc(array('layoutPath'=>'../application/default/layouts')); // run! $frontController->dispatch();
Neste exemplo acima fizemos o seguintes passos:
- Como estamos supondo que estamos em um ambiente de desenvolvimento, configuramos o php para exibir todos os erros e eventos fora do padrão (notices).
- Configuramos o include_path, ou seja, sempre quando dermos uma include em Zend/ ele buscará os arquivos do ZF que está em uma pasta a dois níveis abaixo chamada “zf”
- Utilizamos uma API do zend para que le possa ler arquivos de configuração nesse caso é um arquivo “.ini” com os parâmetros para fazer a conexão em um banco de dados.
- Iniciamos uma sessão, para conseguirmos diferenciar os acessos, ou seja, cada usuário, quando acessa o site ganha uma sessão para ele e então podemos identificá-lo.
- Configuramos a conexão com o banco de dados a partir do objeto config que carregou os dados do arquivo config.ini
- Criamos um dos objetos principais do ZF FronController (faz o intermédio entre os models e as views). Essa configuração foi: Criar o objeto (getInstance()), mostrar os “erros” – No caso de um ambiente em produção o $frontController->throwExceptions(true); seria false e setamos em qual diretório o ele irá buscar os arquivos de controllers.
- Também utilizamos o suporte para layouts do ZF, ou seja, quando ele for carregar qualquer página, primeiramente ele busca uma página Mestre chamada layout.pthml na pasta determinada pela aplicacão.
- Dispach! ou seja, Rodar programa!!
Sei que de certa forma esse exemplo foi um pouco superficial para quem nunca tinha mexido com o ZF, mas aos poucos vamos postando e vocês entenderão a cada dia mais sobre esse framework. Fora que, com certeza, a SON (School of Net), futuramente, oferecerá cursos de ZF. Tudo na prática.
Qualquer dúvida, é só comentar.