É 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.





















[...] do princípio que você já configurou o seu ZF conforme nosso post de introdução, com isso, as seguintes linhas já estarão fazendo a configuração com o [...]