# Aplicativos em PHP/FrameWorks/Zephyr-php

Guia Rápido de Instalação e Uso do Framework ZEPHYR
Site oficial - http://zephyr-php.sf.net

## Introdução

Um Framework baseado em AJAX e MVC para desenvolvedores de PHP5
Podemos desenvolver aplicações comerciais facilmente usando um framework robusto.
Ele é extremamente fácil de aprender e muito simples de implementar.
Com ele podemos entregar uma aplicação comercial completa em AJAX e em camadas no backend (MVC) dentro de alguns minutos.
Instalação e desenvolvimento de pacotes que você desenvolve para Zephyr são agradáveis.
Alé disso devemos receber todas os recursos do mais popular template engine "smarty" e da poderosa camada de abstração de bancos de dados "ADOdb".
Vamos seguir com a documentação para descobrir como é fácil desenvolver aplicações AJAX usando o framework Zephyr.
Zephyr é um framework que utiliza MVC (model-view-controller) e suporta completamente a separação da camada de negócio da camada de apresentação. O framework foi construído usando bibliotecas populares testadas no backend.
Por isso o código desenvolvido com Zephyr é mais estável e flexível para usuários finais.

## Características

Aqui estão algumas das mais importantes características do Zephyr:
1. Usa o template engine Smarty. Assim o desenvolvimento com os templates no zephyr é flexível e estruturado.
2. A adoDB é usada como DAL (data access layer) camada de abstração de bancos de dados no zephyr.
3. Podemos gerenciar múltiplos bancos de dados concorrentemente nas ações do zephyr.
4. Fácil integração de scripts personalizados em PHP e de bibliotecas em javascript.
5. O frontend do zephyr é desenvolvido em cima da famosa biblioteca prototype do Sam Stephenson.
6. Zephyr usa CPAINT como interface para AJAX. Assim você pode facilmente passar múltiplos caracteres de e para suas ações usando zephyr.
7. Cada pacote (package) ou aplicação tem seu próprio inicializador.
8. Implementa processadores de pré ações que ajudam-nos a executar algumas ações específicas antes das ações normais.
9. Suporta ações do cron que executam em intervalos regulares.
10. Fácil manipulação de registros do banco de dados. Requisições internas do gerente do zephyr gerencia todos os parâmetros requisitados de uma forma flexível e você não precisa acessar e configurar esses parâmetros exclusivamente.
11. Podemos integrar facilmente com qualquer pacote PEAR.
12. Você pode gerenciar funções de agregação de bancos de dados através do objeto interno do zephyr de agregação de bancos de dados.
13. Suporta múltiplos níveos de filtros definidos pelo usuário.
14. Fácil integração com os ezComponents.

## Instalação

Download - http://sourceforge.net/project/showfiles.php?group_id=151993
Apenas faça o download e descompacte no diretório web.
Altere as permissões do diretório "temp" para 777.
Uma estrutura típica do zephyr:

## Iniciando a Usar o Zephyr

Todas as aplicações no Zephyr estão no diretório "packages".
Caso pretenda criar uma aplicação com o Zephyr, apenas crie um sub-diretório no diretório "packages" ou então faça uma cópia de um dos aplicativos de exemplo. Esta última opção é mais indicada para quem está dando seus primeiros passos.
Basicamente:
Criar o banco - agenda (MySQL)
Alterar o script dbinfo.class.php no diretório "helper" da aplicação com as informações corretas.
- Faça uma cópia do aplicativo "student_db" para o nome desejado, "agenda" por exemplo
- Então, tendo em vista sua tabela e campos, edite cada um dos arquivos e troque as ocorrencias de student, students, std, por agenda, agendas, agd e os campos também pelos respectivos.
Para facilitar crie a tabela com a mesma quantidade de campos e com tipos idêntivos aos originais.
- Comece editando o arquivo XML (package.xml) que se encontra no raiz da aplicação
- O arquivo readme.txt ou leiame-txt contém algumas informações para rodar a aplicação, inclusive o esquema do banco.
- Depois percorra cada um dos arquivos do aplicativo.
- Para facilitar use o recurso procurar e sobrescrever, tendo o cuidado de ativar a opção procurar palavra inteira.
Aproveite para observar a estrutura das pastas, arquivos, classes e funções do framework.
Veja a estrutura:
Script para o PostgreSQL:
Para suporte ao postgresql adicione este código:
Logo após a entrada do mysql no arquivo zephyr/helper/DatabaseConector.class.php
Veja aqui um exemplo que criei partindo do student_db (agenda, 7,98Kb).

## Conexão com o banco de dados

Os dados encontram-se na classe dbinfo.class.php dentro do diretório helper:
Para PostgreSQL
O Zephyr vem uma estrutura mínima do ADOdb, que atualmente traz:
- MySQL
- SQLite
- Postgresql
- MSSQL (Both ODBC and Normal)
- ODBC
- Oracle
Mas caso queira trabalhar com qualquer outro SGBD nao contemplado, apenas baixe o ADODB e utilize sem problema.
Apenas para o SQLite, que é baseado em arquivos, existe algumas diferenças. Veja:
Devemos criar um diretório para o banco "sqlitedb".
Operações com o SQLite:
//viewreport.class.php
Veja agora na camada view:

## Operações com Bancos de Dados

Inserir registos em tabelas com o framework Zephyr é muito fácil:
Veja a estrutura da tabela student:
Agora vamos criar o modelo de domínio, que é uma classe simples, contendo todos os campos, exceto os de tipo auto_increment. Então para a classe student:
Agora vamos criar um arquivo na camada view para entrada dos dados:
Veja a função:
Esta função serializa os dados e invoca a ação "insert_record". Veja a ação:
Alterando e excluindo registros:
Faz a tualização "where roll = 1".

## Créditos

Lead developer : Hasin Hayder
Javascript and Frontend : Rasiul Kabir
DAO and Helper classes : Prashun Paul
Feedback - Equipe de Desenvolvimento (zephyr@phpxperts.net or zephyr@phpxperts.org)
Forum - http://zephyr-forum.phpxperts.net
Documentação online e offline distribuida juntamente com o pacote para download.
Para maiores detalhes (em inglês), veja a documentação oficial.
A intenção deste pequeno guia é apenas a de facilitar a vida de quem não tem um bom domínio do inglês.
Tradução direto do tutorial original do site por Ribamar FS - ribafs[ ] yahoo.com - 22:06 28/11/2006