Zend Framework - Uma visão geral
O Zend Framework foi lançado no dia 04 de março de 2006 e inclui diferentes componentes desenvolvidos em PHP5 para prover alta qualidade para desenvolvimento de aplicações web e web services.
Página oficial: http://framework.zend.com/

Versão Atual: Zend Framework 0.0.70 (18-Jan-2007)
Mas o que seria um framework?
É um conjunto de classes com objetivo de reutilização de um design, provendo um guia para uma solução de arquitetura em um domínio específico de software.
Qual a diferença entre biblioteca de classes e framework?
O framework se diferencia pois a biblioteca de classes se concentra em apenas oferecer implementação de funcionalidades, sem definir a reutilização de uma solução de arquitetura (design).
O Zend Framework segue o padrão MVC - Model View Controller ou Modelo-Visão-Controlador que é um padrão de arquitetura de aplicações que visa separar a lógica da aplicação (Model), da interface do Usuário (View) e do fluxo da aplicação (Controller). Permite que a mesma lógica de negócios possa ser acessada e visualizada por várias interfaces.

Componentes do Zend Framework
Zend_Controller e Zend_View
Zend_Controller fornece os alicerces para a construção de websites baseados no MVC.
Zend_View separa o script de visualização dos controladores e modelos.
Zend_Config
Simplifica o uso de dados de configuração para aplicações web.
Zend_Db
Componente que provê acesso a banco de dados. Adicionalmente, ele ajuda a proteger suas consultas contra ataques de SQL Injection.
Zend_Fed
Componente que auxilia a geração de dados RSS e Atom para feeds.
Zend_Http_Cliente
Componente para o desenvolvimento de CLIENTES web services.
Zend_Filter_Input
Componente para filtragem e validação de campos de entrada.
Zend_Json
Componente que transforma estruturas PHP em JSON - JavaScript Object Notation (http://www.json.org/) para uso em aplicações com AJAX.
Zend_Log
Componente utilizado para geração de log de erros.
Zend_Mail e Zend_Mime
Componente para envio de email com suporte a anexos de todos os MIMES suportados.
Zend_PDF
Componente para criação e alteração de documentos PDF.
Zend_Search_Lucene
Para que não conhece o Lucene é uma software de busca e uma API de indexação de documentos escritos na linguagem Java e é mantido pela Apache Software Foundation (http://lucene.apache.org/java/docs/). O Zend_Search_Lucene é um componente do Lucene totalmente escrito em PHP 5.
Zend_XMLRpc
Componente para chamada remota de procedimentos. O SOAP é um padrão de RPC para WebServices.
Configuração do Zend Framework
01. Faça o dowload do Zend Framework no site: http://framework.zend.com
02. Descompacte-o numa pasta um nível abaixo do DocumentRoot do Apache.
03. Renomeie a pasta para zf.
Apache
A primeira coisa a fazer é configurar o Apache a trabalhar no mod_rewrite que terá a responsabilidade de redirecionar todas as requisições para um arquivo chamado index.php
http.conf - Apache (Windows)
Tirar o # (jogo da velha etc…) do início da linha:
LoadModule rewrite_module modules/mod_rewrite.so
Definir o nosso arquivo htaccess
AccessFileName .htaccess
Trocar as linhas abaixo:
#<Directory />
# Options Indexes FollowSymLinks
# AllowOverride None
#</Directory>
por:
<Directory />
Options FollowSymLinks Includes
AllowOverride All
</Directory>
Arquivo .htaccess
Crie um arquivo .htacess e salve no DocumentRoot do servidor Apache. No meu caso é c:/pagina.
RewriteEngine on
RewriteBase /
RewriteRule !\.(js|ico|txt|gif|jpg|png|css)$ index.php
php_flag magic_quotes_gpc off
php_value include_path “c:/zf/library”
Todas as requisições que não contiverem uma das extensões de arquivo listadas serão passadas para index.php
Restartar o Apache.
Estrutura da nossa aplicação de exemplo
c:/pagina (document_root do servidor apache)
.htaccess
index.php
c:/framework (aplicações que utilizam framework)
/exemplo01
/controllers
IndexController.php
/views
hello.php
/models
c:/zf/library (bliblioteca do zend framework)
Como você pode ver acima, a pasta que contém o nosso exemplo de framework, bem como a biblioteca do framework, encontra-se fora do DocumentRoot do Apache pois é uma recomendação da Zend devido a segurança.
Exemplo 01 - Hello World!
Vamos desenvolver o nosso primeiro exemplo utilizando o Zend Framework. Faremos o famoso Hello World!
Arquivo index.php
O arquivo index.php deverá ser salvo no DocumentRoot do Apache e será o responsável por inicializar o Zend_Controller_Front.
Nesse arquivo, teremos também o Zend_View para chamar a nossa aplicação.
<?
include ‘Zend.php’;
Zend::loadClass(’Zend_Controller_Front’);
Zend::loadClass(’Zend_View’);
$view = new Zend_View;
$view->addScriptPath(’c:/framework/exemplo01/views’);
Zend::register(’view’, $view);
$controller = Zend_Controller_Front::getInstance();
$controller->setControllerDirectory(’c:/framework/exemplo01/controllers’);
$controller->dispatch();
?>
Criando o indexController.php
Este arquivo deve ser criado na pasta controllers da sua aplicação.
<?php
class indexController extends Zend_Controller_Action {
public function indexAction()
{
$view = Zend::registry(’view’);
$view->title = ‘iMasters - Júlio César Martini’;
$view->body = ‘Hello, World!’;
echo $view->render(’hello.php’);
}
public function noRouteAction() {
$this->_redirect(’/');
}
}
?>
Criando o hello.php
Este arquivo deve ser criado na pasta views da sua aplicação.
<html>
<head>
<title><?php echo $this->escape($this->title); ?></title>
</head>
<body>
<?php echo $this->escape($this->body); ?>
</body>
</html>
Resultado:

No browser, você acessando via http://localhost ou http://127.0.0.1 deverá visualizar o Hello, World!
Você pode testar pelos seguintes endereços também:
http://127.0.0.1:85/index
http://127.0.0.1:85/index/index
E vocês me perguntam: Mas por que por esses endereços a página é acessada?
Pensem! Isso será assunto dos próximos artigos. Aguardem!
Para baixar todos os arquivos que usei para configuração do Zend Framework, clique aqui e faça o download do script.
Semana que vem tem mais. Espero que vocês tenham gostado!
Não deixe de nos enviar críticas ou sugestões para o próximo assunto, afinal a coluna é de vocês. Boa semana a todos!
Texto Original:http://www.imasters.com.br/artigo/4609/php/zend_framework_-_uma_visao_geral/
Se gostou da matéria deixe um comentário or subscribe to the feed and get future articles delivered to your feed reader.





Comentários
Nenhum comentário ainda.
Deixe um comentário