<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fabio Farias &#187; Zend Framework</title>
	<atom:link href="http://www.fabiofarias.com.br/category/php/zend-framework/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fabiofarias.com.br</link>
	<description>Informações e Tecnologias de maneira rápida e facil.</description>
	<lastBuildDate>Thu, 16 Jun 2011 19:39:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>O que é Zend Framework?</title>
		<link>http://www.fabiofarias.com.br/2010/05/25/o-que-e-zend-framework/</link>
		<comments>http://www.fabiofarias.com.br/2010/05/25/o-que-e-zend-framework/#comments</comments>
		<pubDate>Tue, 25 May 2010 21:25:17 +0000</pubDate>
		<dc:creator>Fabio Farias</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Todos]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://fabiofarias.com.br/?p=7</guid>
		<description><![CDATA[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><a href="http://www.fabiofarias.com.br">Fabio Farias - Informações e Tecnologias de maneira rápida e facil.</a> este post é de:  <a href="http://www.fabiofarias.com.br">Fabio Farias</a> </p>
]]></description>
			<content:encoded><![CDATA[<p>Essa semana aprenderemos um pouco                 sobre frameworks PHP, basicamente sobre o Zend Framework. Como                 todos devem saber, a ZEND é uma empresa fundada em 1999                 por Andi Gutmans e Zeev Suraski e é a responsável                 pela manutenção e desenvolvimento de produtos e                 serviços para a linguagem PHP.</p>
<p>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>
<p>http://framework.zend.com/</p>
<p><em>Mas o que seria um framework?</em></p>
<p>É 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.</p>
<p><em>Qual a diferença               entre biblioteca de classes e framework?</em></p>
<p>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).</p>
<p>O Zend Framework segue o padrão MVC &#8211; 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.</p>
<p><img src="http://conteudo.imasters.com.br/4609/130_2.gif" alt="130_2.gif" /><br />
<strong>Componentes do Zend Framework</strong></p>
<p><strong>Zend_Controller e Zend_View</strong><br />
Zend_Controller fornece os alicerces para a construção de websites baseados no MVC.<br />
Zend_View separa o script de visualização dos controladores e modelos.</p>
<p><strong>Zend_Config</strong><br />
Simplifica o uso de dados de configuração para aplicações web.</p>
<p><strong>Zend_Db</strong><br />
Componente que provê acesso a banco de dados. Adicionalmente, ele ajuda a proteger suas consultas contra ataques de SQL Injection.</p>
<p><strong>Zend_Fed</strong><br />
Componente que auxilia a geração de dados RSS e Atom para feeds.</p>
<p><strong>Zend_Http_Cliente</strong><br />
Componente para o desenvolvimento de CLIENTES web services.</p>
<p><strong>Zend_Filter_Input</strong><br />
Componente para filtragem e validação de campos de entrada.</p>
<p><strong>Zend_Json</strong><br />
Componente que transforma estruturas PHP em JSON &#8211; JavaScript Object Notation (<a href="http://www.json.org/">http://www.json.org/</a>) para uso em aplicações com AJAX.</p>
<p><strong>Zend_Log</strong><br />
Componente utilizado para geração de log de erros.</p>
<p><strong>Zend_Mail e Zend_Mime</strong><br />
Componente para envio de email com suporte a anexos de todos os MIMES suportados.</p>
<p><strong>Zend_PDF</strong><br />
Componente para criação e alteração de documentos PDF.</p>
<p><strong>Zend_Search_Lucene</strong><br />
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 (<a href="http://lucene.apache.org/java/docs/">http://lucene.apache.org/java/docs/</a>). O Zend_Search_Lucene é um componente do Lucene totalmente escrito em PHP 5.</p>
<p><strong>Zend_XMLRpc</strong><br />
Componente para chamada remota de procedimentos. O SOAP é um padrão de RPC para WebServices.</p>
<p>Configuração do Zend Framework</p>
<p><strong>01. </strong>Faça o dowload do Zend Framework no site: <a href="http://framework.zend.com/">http://framework.zend.com</a><br />
<strong>02.</strong> Descompacte-o numa pasta um nível abaixo do DocumentRoot do Apache.<br />
<strong>03.</strong> Renomeie a pasta para zf.</p>
<p><strong>Apache</strong></p>
<p>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</p>
<p><strong>http.conf &#8211; Apache (Windows)</strong></p>
<p>Tirar o # (jogo da velha etc&#8230;) do início da linha:<br />
LoadModule rewrite_module modules/mod_rewrite.so</p>
<p>Definir o nosso arquivo htaccess<br />
AccessFileName .htaccess</p>
<p>Trocar as linhas abaixo:<br />
#&lt;Directory /&gt;<br />
# Options Indexes FollowSymLinks<br />
# AllowOverride None<br />
#&lt;/Directory&gt;</p>
<p>por:<br />
&lt;Directory /&gt;<br />
Options FollowSymLinks Includes<br />
AllowOverride All<br />
&lt;/Directory&gt;</p>
<p><strong>Arquivo .htaccess</strong><br />
Crie um arquivo .htacess e salve no DocumentRoot do servidor Apache. No meu caso é c:/pagina.</p>
<p>RewriteEngine on<br />
RewriteBase /<br />
RewriteRule !\.(js|ico|txt|gif|jpg|png|css)$ index.php<br />
php_flag magic_quotes_gpc off<br />
php_value include_path &#8220;c:/zf/library&#8221;</p>
<p>Todas as requisições que não contiverem uma das extensões de arquivo listadas serão passadas para index.php</p>
<p>Restartar o Apache.</p>
<p>Estrutura da nossa aplicação de exemplo</p>
<p>c:/pagina (document_root do servidor apache)<br />
.htaccess<br />
index.php<br />
c:/framework (aplicações que utilizam framework)<br />
/exemplo01<br />
/controllers<br />
IndexController.php<br />
/views<br />
hello.php<br />
/models<br />
c:/zf/library (bliblioteca do zend framework)</p>
<p>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.</p>
<p><strong>Exemplo 01 &#8211; Hello World!</strong></p>
<p>Vamos desenvolver o nosso primeiro exemplo utilizando o Zend Framework. Faremos o famoso Hello World!</p>
<p><strong>Arquivo index.php</strong></p>
<p>O arquivo index.php deverá ser salvo no DocumentRoot do Apache e será o responsável por inicializar o Zend_Controller_Front.</p>
<p>Nesse arquivo, teremos também o Zend_View para chamar a nossa aplicação.</p>
<p>&lt;?<br />
include &#8216;Zend.php&#8217;;</p>
<p>Zend::loadClass(&#8216;Zend_Controller_Front&#8217;);<br />
Zend::loadClass(&#8216;Zend_View&#8217;);</p>
<p>$view = new Zend_View;<br />
$view-&gt;addScriptPath(&#8216;c:/framework/exemplo01/views&#8217;);<br />
Zend::register(&#8216;view&#8217;, $view);</p>
<p>$controller = Zend_Controller_Front::getInstance();<br />
$controller-&gt;setControllerDirectory(&#8216;c:/framework/exemplo01/controllers&#8217;);<br />
$controller-&gt;dispatch();<br />
?&gt;</p>
<p><strong>Criando o indexController.php</strong></p>
<p>Este arquivo deve ser criado na pasta controllers da sua aplicação.</p>
<p>&lt;?php<br />
class indexController extends Zend_Controller_Action {<br />
public function indexAction()<br />
{<br />
$view = Zend::registry(&#8216;view&#8217;);<br />
$view-&gt;title = &#8216;iMasters &#8211; Júlio César Martini&#8217;;<br />
$view-&gt;body = &#8216;Hello, World!&#8217;;<br />
echo $view-&gt;render(&#8216;hello.php&#8217;);<br />
}<br />
public function noRouteAction() {<br />
$this-&gt;_redirect(&#8216;/&#8217;);<br />
}<br />
}<br />
?&gt;</p>
<p><strong>Criando o hello.php</strong></p>
<p>Este arquivo deve ser criado na pasta views da sua aplicação.</p>
<p>&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;&lt;?php echo $this-&gt;escape($this-&gt;title); ?&gt;&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;?php echo $this-&gt;escape($this-&gt;body); ?&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p><a href="http://www.fabiofarias.com.br">Fabio Farias - Informações e Tecnologias de maneira rápida e facil.</a> este post é de:  <a href="http://www.fabiofarias.com.br">Fabio Farias</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.fabiofarias.com.br/2010/05/25/o-que-e-zend-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

