<?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>Cauan Cabral - Geek &#187; personalização</title>
	<atom:link href="http://cauancabral.net/tag/personalizacao/feed/" rel="self" type="application/rss+xml" />
	<link>http://cauancabral.net</link>
	<description>Geek, nerd e apaixonado por tecnologia</description>
	<lastBuildDate>Fri, 25 Jun 2010 23:31:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Dica Rápida &#8211; CakePHP &#8211; Personalizando as páginas de erros</title>
		<link>http://cauancabral.net/2010/01/28/dica-rapida-cakephp-personalizando-as-paginas-de-erros/</link>
		<comments>http://cauancabral.net/2010/01/28/dica-rapida-cakephp-personalizando-as-paginas-de-erros/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 21:46:58 +0000</pubDate>
		<dc:creator>Cauan Cabral</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[dica]]></category>
		<category><![CDATA[personalização]]></category>

		<guid isPermaLink="false">http://cauancabral.net/?p=185</guid>
		<description><![CDATA[A grosso modo, existem dois tipos de erros no CakePHP: Erros de codificação e configuração: Quando acessamos um endereço de nossa aplicação e está faltando alguma coisa, o CakePHP nos retorna uma mensagem avisando sobre o erro ocorrido e a &#8230; <a href="http://cauancabral.net/2010/01/28/dica-rapida-cakephp-personalizando-as-paginas-de-erros/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A grosso modo, existem dois tipos de erros no CakePHP:</p>
<p><strong>Erros de codificação e configuração:</strong></p>
<p>Quando acessamos um endereço de nossa aplicação e está faltando alguma coisa, o CakePHP nos retorna uma mensagem avisando sobre o erro ocorrido e a causa dele (o que falta fazer).</p>
<p><strong>Erros HTTP:<br />
</strong>Quando tentamos acessar um endereço inexistente (erro 404) e quando há falha no servidor (erro 500).</p>
<p>O primeiro tipo deixa de ser exibido quando você configura o debug para o valor zero. A partir deste momento todos os erros relacionados ao primeiro tipo serão mostrados como um erro 404.<br />
O segundo tipo é exibido não importando o valor do debug.</p>
<p><strong>Como personalizar essas mensagens?</strong></p>
<p>Caso queira usar o mesmo layou definido no arquivo<em> app/views/layouts/default.ctp</em>, você precisará apenas criar uma pasta chamada errors dentro da pasta views  (caso ela não exista) e depois criar um arquivo para cada erro, ficando mais ou menos assim:</p>
<pre>app/views/errors/error404.ctp
app/views/errors/error500.ctp
app/views/errors/missing_action.ctp
</pre>
<p>
Veja a lista completa de arquivos acessando o diretório <em>cake/libs/views/errors/</em><br />
Caso queira ir um pouco além, personalizando também o layout da mensagem, adicione um arquivo com o layout definido em <em>app/views/layouts/</em>. Vamos chamar esse arquivo de <em>errors.ctp</em>;<br />
Em seguida, vamos adicionar o seguinte código em nosso <em>AppController</em>:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009933; font-style: italic;">/**
 * Caso já esteja usando o beforeRender, apenas adicione a linha interna abaixo ao seu beforeRender
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> beforeRender <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
       <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span>_setErrorLayout<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> _setErrorLayout<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'CakeError'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">layout</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'error'</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Pronto, agora é só personalizar o arquivo errors.ctp da forma que achar melhor =]<br />
Dica retirada do <a title="Teknoid - nuts and bolts of cakephp" href="http://teknoid.wordpress.com/2009/04/30/give-all-of-your-error-messages-a-different-layout/" onclick="pageTracker._trackPageview('/outgoing/teknoid.wordpress.com/2009/04/30/give-all-of-your-error-messages-a-different-layout/?referer=');">Teknoid</a></p>
<div id="crp_related"><h3>Outros posts que podem interessar:</h3><ul><li><a href="http://cauancabral.net/2010/04/05/dica-rapida-cakephp-1-3-link-com-prefixo/" rel="bookmark" class="crp_title">Dica Rápida &#8211; CakePHP 1.3, link com prefixo</a></li><li><a href="http://cauancabral.net/2009/02/25/cakephp-duvidas-comuns-2/" rel="bookmark" class="crp_title">CakePHP &#8211; Dúvidas Comuns #2</a></li><li><a href="http://cauancabral.net/2010/01/27/dica-rapida/" rel="bookmark" class="crp_title">Dica rápida</a></li><li><a href="http://cauancabral.net/2009/01/13/25-erros-mais-graves/" rel="bookmark" class="crp_title">25 erros de programação mais graves</a></li><li><a href="http://cauancabral.net/2008/10/22/usar-google-analytics-para-paginas-em-flash-ou-ajax-e-mole/" rel="bookmark" class="crp_title">Usar Google Analytics para páginas em Flash ou Ajax? É mole&#8230;</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://cauancabral.net/2010/01/28/dica-rapida-cakephp-personalizando-as-paginas-de-erros/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
