<?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"
	>

<channel>
	<title>symfonybr</title>
	<atom:link href="http://www.symfonybr.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.symfonybr.com</link>
	<description>um framework bizarro</description>
	<pubDate>Fri, 20 Aug 2010 03:10:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>[smtp] 421 too many messages in this connection</title>
		<link>http://www.symfonybr.com/2010/08/19/smtp-421-too-many-messages-in-this-connection/</link>
		<comments>http://www.symfonybr.com/2010/08/19/smtp-421-too-many-messages-in-this-connection/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 03:10:32 +0000</pubDate>
		<dc:creator>pedro casado</dc:creator>
		
		<category><![CDATA[swift]]></category>

		<category><![CDATA[swift email smtp error 421 250]]></category>

		<guid isPermaLink="false">http://www.symfonybr.com/?p=69</guid>
		<description><![CDATA[	
Depois de bastante tempo com meu sistema de newsletter redondo.. tive hoje o seguinte erro:



Expected response code 250 but got code 421, with message 421 too many messages in this connection

&#160;

	Não sei qual foi o motivo disso acontecer assim de um dia para o outro.. Dei uma lida na documentação do Swift (http://swiftmailer.org/docs/antiflood-plugin-howto) e passei [...]]]></description>
			<content:encoded><![CDATA[	<p>
Depois de bastante tempo com meu sistema de newsletter redondo.. tive hoje o seguinte erro:</p>

<div class="dean_ch" style="white-space: wrap;"><br />

Expected response code <span class="nu0">250</span> but got code <span class="nu0">421</span>, with message <span class="nu0">421</span> too many messages in this connection<br />

&nbsp;</div>

	<p>Não sei qual foi o motivo disso acontecer assim de um dia para o outro.. Dei uma lida na documentação do Swift (<a href="http://swiftmailer.org/docs/antiflood-plugin-howto">http://swiftmailer.org/docs/antiflood-plugin-howto</a>) e passei a utilizar o antiflood-plugin.</p>

	<p>Foi bem simples. Utilizei da seguinte forma:</p>

<div class="dean_ch" style="white-space: wrap;"><br />

&#8230;<br />

<span class="re0">$mailer</span>-&gt;<span class="me1">registerPlugin</span><span class="br0">&#40;</span><span class="kw2">new</span> Swift_Plugins_AntiFloodPlugin<span class="br0">&#40;</span><span class="nu0">200</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />

&#8230;<br />

&nbsp;</div>

	<p>Com esse plugin a cada 200 emails é feito uma nova conexão. Isso é o que estava acusando no erro (421 too many messages in this connection).</p>

	<p>valeu</p>]]></content:encoded>
			<wfw:commentRss>http://www.symfonybr.com/2010/08/19/smtp-421-too-many-messages-in-this-connection/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Utilizando Swift numa task (symfony 1.3/1.4)</title>
		<link>http://www.symfonybr.com/2010/06/15/utilizando-swift-numa-task-symfony-1314/</link>
		<comments>http://www.symfonybr.com/2010/06/15/utilizando-swift-numa-task-symfony-1314/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 14:10:41 +0000</pubDate>
		<dc:creator>pedro casado</dc:creator>
		
		<category><![CDATA[cli]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[snippet]]></category>

		<category><![CDATA[swift]]></category>

		<guid isPermaLink="false">http://www.symfonybr.com/?p=68</guid>
		<description><![CDATA[	Ao utilizar esse código na task:

$message = Swift_Message::newInstance&#40;&#41;;

	Tive o seguinte erro:

PHP Fatal error: Class &#8216;Swift_Message&#8217; not found in [&#8230;]

	Solução:

$message = $this&#45;&#62;getMailer&#40;&#41;&#45;&#62;compose&#40;&#34;from@mail&#34;,&#34;to@mail&#34;,&#34;subject&#34;,&#34;body&#34;&#41;;

]]></description>
			<content:encoded><![CDATA[	<p>Ao utilizar esse código na task:</p>

<div class="dean_ch" style="white-space: wrap;"><span class="re0">$message</span> = Swift_Message::<span class="me2">newInstance</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>

	<p>Tive o seguinte erro:</p>

<div class="shell"><span class="caps">PHP</span> Fatal error: Class &#8216;Swift_Message&#8217; not found in [&#8230;]</div>

	<p>Solução:</p>

<div class="dean_ch" style="white-space: wrap;"><span class="re0">$message</span> = <span class="re0">$this</span>&#45;&gt;<span class="me1">getMailer</span><span class="br0">&#40;</span><span class="br0">&#41;</span>&#45;&gt;<span class="me1">compose</span><span class="br0">&#40;</span><span class="st0">&quot;from@mail&quot;</span>,<span class="st0">&quot;to@mail&quot;</span>,<span class="st0">&quot;subject&quot;</span>,<span class="st0">&quot;body&quot;</span><span class="br0">&#41;</span>;</div>

]]></content:encoded>
			<wfw:commentRss>http://www.symfonybr.com/2010/06/15/utilizando-swift-numa-task-symfony-1314/feed/</wfw:commentRss>
		</item>
		<item>
		<title>symfony 1.0 e Swift 4</title>
		<link>http://www.symfonybr.com/2010/06/09/symfony-10-e-swift-4/</link>
		<comments>http://www.symfonybr.com/2010/06/09/symfony-10-e-swift-4/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 09:29:14 +0000</pubDate>
		<dc:creator>pedro casado</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[swift]]></category>

		<guid isPermaLink="false">http://www.symfonybr.com/?p=67</guid>
		<description><![CDATA[	Ao utilizar o Swift 4 com o symfony 1.0, tive o seguinte erro:

 Fatal error: Cannot instantiate abstract class Swift in /[&#8230;]/apps/frontend/modules/[&#8230;]/actions/actions.class.php on line 40

	Não sei porque o autoload do symfony não funcionou. Só consigo utilizar a classe incluindo o swift_required.php

require_once&#40;dirname&#40;FILE&#41;.&#8216;/../lib/swift/lib/swift_required.php&#8217;&#41;;

	Se estiver tendo problemas de tela branca com o Swift, utilize:



error_reporting&#40;E_ALL&#41;;

ini_set&#40;&#8216;display_errors&#8217;, &#8216;1&#8217;&#41;;

&#160;

	Aqui vai um exemplo [...]]]></description>
			<content:encoded><![CDATA[	<p>Ao utilizar o Swift 4 com o symfony 1.0, tive o seguinte erro:</p>

<div class="shell"> Fatal error: Cannot instantiate abstract class Swift in /[&#8230;]/apps/frontend/modules/[&#8230;]/actions/actions.class.php on line 40</div>

	<p>Não sei porque o autoload do symfony não funcionou. Só consigo utilizar a classe incluindo o swift_required.php</p>

<div class="dean_ch" style="white-space: wrap;"><span class="kw1">require_once</span><span class="br0">&#40;</span><a href="http://www.php.net/dirname"><span class="kw3">dirname</span></a><span class="br0">&#40;</span><span class="kw2"><i>FILE</i></span><span class="br0">&#41;</span>.<span class="st0">&#8216;/../lib/swift/lib/swift_required.php&#8217;</span><span class="br0">&#41;</span>;</div>

	<p>Se estiver tendo problemas de tela branca com o Swift, utilize:</p>

<div class="dean_ch" style="white-space: wrap;"><br />

<a href="http://www.php.net/error_reporting"><span class="kw3">error_reporting</span></a><span class="br0">&#40;</span><span class="kw2">E_ALL</span><span class="br0">&#41;</span>;<br />

<a href="http://www.php.net/ini_set"><span class="kw3">ini_set</span></a><span class="br0">&#40;</span><span class="st0">&#8216;display_errors&#8217;</span>, <span class="st0">&#8216;1&#8217;</span><span class="br0">&#41;</span>;<br />

&nbsp;</div>

	<p>Aqui vai um exemplo completo:</p>

<div class="dean_ch" style="white-space: wrap;"><br />

<span class="co1">// swift 4.0.6</span><br />

<span class="kw1">require_once</span><span class="br0">&#40;</span><a href="http://www.php.net/dirname"><span class="kw3">dirname</span></a><span class="br0">&#40;</span><span class="kw2"><i>FILE</i></span><span class="br0">&#41;</span>.<span class="st0">&#8216;/../lib/swift/lib/swift_required.php&#8217;</span><span class="br0">&#41;</span>;<br />

<br />

<span class="re0">$transport</span> = Swift_SmtpTransport::<span class="me2">newInstance</span><span class="br0">&#40;</span><span class="st0">&#8216;smtp.servidor.com.br&#8217;</span>, <span class="nu0">25</span><span class="br0">&#41;</span><br />

&nbsp; -&gt;<span class="me1">setUsername</span><span class="br0">&#40;</span><span class="st0">&#8216;usuario&#8217;</span><span class="br0">&#41;</span><br />

&nbsp; -&gt;<span class="me1">setPassword</span><span class="br0">&#40;</span><span class="st0">&#8216;senha&#8217;</span><span class="br0">&#41;</span><br />

&nbsp; -&gt;<span class="me1">setTimeout</span><span class="br0">&#40;</span><span class="nu0">60</span><span class="br0">&#41;</span>;<br />

<br />

<span class="re0">$mailer</span> = Swift_Mailer::<span class="me2">newInstance</span><span class="br0">&#40;</span><span class="re0">$transport</span><span class="br0">&#41;</span>;<br />

<span class="re0">$message</span> = Swift_Message::<span class="me2">newInstance</span><span class="br0">&#40;</span><span class="st0">&quot;Titulo&quot;</span><span class="br0">&#41;</span><br />

&nbsp; -&gt;<span class="me1">setFrom</span><span class="br0">&#40;</span><span class="st0">&quot;from@email.com&quot;</span><span class="br0">&#41;</span><br />

&nbsp; -&gt;<span class="me1">setTo</span><span class="br0">&#40;</span><span class="st0">&quot;para@email.com&quot;</span><span class="br0">&#41;</span><br />

&nbsp; -&gt;<span class="me1">setBody</span><span class="br0">&#40;</span><span class="st0">&quot;Mensagem&quot;</span>, <span class="st0">&#8216;text/html&#8217;</span><span class="br0">&#41;</span>;<br />

<br />

<span class="re0">$mailer</span>-&gt;<span class="me1">send</span><span class="br0">&#40;</span><span class="re0">$message</span><span class="br0">&#41;</span>;<br />

&nbsp;</div>

	<p>Aqui fala um pouco sobre esse assunto: <a href="http://forum.symfony-project.org/index.php/m/77609/">http://forum.symfony-project.org/index.php/m/77609/</a></p>

]]></content:encoded>
			<wfw:commentRss>http://www.symfonybr.com/2010/06/09/symfony-10-e-swift-4/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Aumentando o timeout da sessão do usuário (sf 1.2)</title>
		<link>http://www.symfonybr.com/2010/05/18/aumentando-o-timeout-da-sessao-do-usuario-sf-12/</link>
		<comments>http://www.symfonybr.com/2010/05/18/aumentando-o-timeout-da-sessao-do-usuario-sf-12/#comments</comments>
		<pubDate>Tue, 18 May 2010 21:17:57 +0000</pubDate>
		<dc:creator>pedro casado</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[snippet]]></category>

		<category><![CDATA[yml]]></category>

		<guid isPermaLink="false">http://www.symfonybr.com/?p=66</guid>
		<description><![CDATA[	Editar arquivo apps/(aplicacao)/config/factories.yml e alterar os segundos do &#8216;timeout&#8217;:
all:

&#160; user:

&#160; &#160;class: myUser

&#160; &#160;param:

&#160; &#160; &#160;timeout: &#160; &#160; &#160; &#160; 2700

&#160;]]></description>
			<content:encoded><![CDATA[	<p>Editar arquivo <strong>apps/(aplicacao)/config/factories.yml</strong> e alterar os segundos do &#8216;timeout&#8217;:<br />
<div class="dean_ch" style="white-space: wrap;">all:<br />

&nbsp; user:<br />

&nbsp; &nbsp;<span class="kw2">class</span>: myUser<br />

&nbsp; &nbsp;param:<br />

&nbsp; &nbsp; &nbsp;timeout: &nbsp; &nbsp; &nbsp; &nbsp; <span class="nu0">2700</span><br />

&nbsp;</div></p>]]></content:encoded>
			<wfw:commentRss>http://www.symfonybr.com/2010/05/18/aumentando-o-timeout-da-sessao-do-usuario-sf-12/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tratando múltiplos telefones com embedded forms no admin generator</title>
		<link>http://www.symfonybr.com/2010/04/18/tratando-multiplos-telefones-com-embedded-forms-no-admin-generator/</link>
		<comments>http://www.symfonybr.com/2010/04/18/tratando-multiplos-telefones-com-embedded-forms-no-admin-generator/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 16:55:27 +0000</pubDate>
		<dc:creator>pedro casado</dc:creator>
		
		<category><![CDATA[embedded form]]></category>

		<category><![CDATA[form]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[propel]]></category>

		<category><![CDATA[embed]]></category>

		<guid isPermaLink="false">http://www.symfonybr.com/?p=65</guid>
		<description><![CDATA[	No meu post anterior, comentei sobre uma tabela (imovel) que possui diversos telefones (1-N). Nesse post vou tentar explicar como fiz o formulário de edição para tratar os N telefones dos imoveis.

	O jeito que fiz vai ficar como a imagem abaixo. Vou deixar sempre 3 campos em branco para adicionar novos telefones. Para remover um [...]]]></description>
			<content:encoded><![CDATA[	<p>No meu post anterior, comentei sobre uma tabela (imovel) que possui diversos telefones (1-N). Nesse post vou tentar explicar como fiz o formulário de edição para tratar os N telefones dos imoveis.</p>

	<p>O jeito que fiz vai ficar como a imagem abaixo. Vou deixar sempre 3 campos em branco para adicionar novos telefones. Para remover um telefone, basta deixa-lo em branco (em breve eu crio um botão com ajax para remover).</p>

	<p><img src="http://img57.imageshack.us/img57/4796/picture1dn.png" border="0" alt="" /></p>

	<p>Vamos começar editando o <strong>lib/form/ImovelForm.class.php</strong><br />
<div class="dean_ch" style="white-space: wrap;"><span class="kw2">class</span> ImovelForm <span class="kw2">extends</span> BaseImovelForm<br />

<span class="br0">&#123;</span><br />

&nbsp; <span class="kw2">public</span> <span class="kw2">function</span> configure<span class="br0">&#40;</span><span class="br0">&#41;</span><br />

&nbsp; <span class="br0">&#123;</span><br />

&nbsp; &nbsp; &nbsp; <span class="re0">$todoWrapperForm</span> = <span class="kw2">new</span> sfForm<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />

&nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$this</span>&#45;&gt;<span class="me1">getObject</span><span class="br0">&#40;</span><span class="br0">&#41;</span>&#45;&gt;<span class="me1">countTelefoneImovels</span><span class="br0">&#40;</span><span class="br0">&#41;</span> &gt; <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re0">$this</span>&#45;&gt;<span class="me1">getObject</span><span class="br0">&#40;</span><span class="br0">&#41;</span>&#45;&gt;<span class="me1">getTelefoneImovels</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">as</span> <span class="re0">$telefone</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re0">$todoWrapperForm</span>&#45;&gt;<span class="me1">embedForm</span><span class="br0">&#40;</span><span class="st0">&#8216;tel_&#8217;</span>.<span class="re0">$telefone</span>&#45;&gt;<span class="me1">getId</span><span class="br0">&#40;</span><span class="br0">&#41;</span>, <span class="kw2">new</span> TelefoneImovelForm<span class="br0">&#40;</span><span class="re0">$telefone</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />

&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />

&nbsp; &nbsp; <span class="co1">// adiciona os 3 forms em branco</span><br />

&nbsp; &nbsp; <span class="re0">$todoWrapperForm</span>-&gt;<span class="me1">embedForm</span><span class="br0">&#40;</span><span class="st0">&#8216;tel_A&#8217;</span>, <span class="kw2">new</span> TelefoneImovelForm<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />

&nbsp; &nbsp; <span class="re0">$todoWrapperForm</span>-&gt;<span class="me1">embedForm</span><span class="br0">&#40;</span><span class="st0">&#8216;tel_B&#8217;</span>, <span class="kw2">new</span> TelefoneImovelForm<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />

&nbsp; &nbsp; <span class="re0">$todoWrapperForm</span>-&gt;<span class="me1">embedForm</span><span class="br0">&#40;</span><span class="st0">&#8216;tel_C&#8217;</span>, <span class="kw2">new</span> TelefoneImovelForm<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />

<br />

&nbsp; &nbsp; <span class="re0">$this</span>-&gt;<span class="me1">embedForm</span><span class="br0">&#40;</span><span class="st0">&#8216;tels&#8217;</span>, <span class="re0">$todoWrapperForm</span><span class="br0">&#41;</span>;<br />

<br />

&nbsp; &nbsp; <span class="re0">$this</span>&#45;&gt;<span class="me1">validatorSchema</span>&#45;&gt;<span class="me1">setOption</span><span class="br0">&#40;</span><span class="st0">&#8216;filter_extra_fields&#8217;</span>, <span class="kw2">false</span><span class="br0">&#41;</span>;<br />

&nbsp; &nbsp; <span class="re0">$this</span>&#45;&gt;<span class="me1">validatorSchema</span>&#45;&gt;<span class="me1">setOption</span><span class="br0">&#40;</span><span class="st0">&#8216;allow_extra_fields&#8217;</span>, <span class="kw2">true</span><span class="br0">&#41;</span>;<br />

<br />

&nbsp; <span class="br0">&#125;</span><br />

<br />

&nbsp; <span class="kw2">public</span> <span class="kw2">function</span> bind<span class="br0">&#40;</span><a href="http://www.php.net/array"><span class="kw3">array</span></a> <span class="re0">$taintedValues</span> = <span class="kw2">null</span>, <a href="http://www.php.net/array"><span class="kw3">array</span></a> <span class="re0">$taintedFiles</span> = <span class="kw2">null</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />

&nbsp; &nbsp; <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re0">$this</span>&#45;&gt;<span class="me1">embeddedForms</span><span class="br0">&#91;</span><span class="st0">&#8216;tels&#8217;</span><span class="br0">&#93;</span>&#45;&gt;<span class="me1">getEmbeddedForms</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">as</span> <span class="re0">$key</span>=&gt;<span class="re0">$telForm</span><span class="br0">&#41;</span><br />

&nbsp; &nbsp; <span class="br0">&#123;</span><br />

&nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$taintedValues</span><span class="br0">&#91;</span><span class="st0">&#8216;tels&#8217;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re0">$key</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#8216;telefone&#8217;</span><span class="br0">&#93;</span> == <span class="st0">&quot;&quot;</span><span class="br0">&#41;</span><br />

&nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span><br />

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/unset"><span class="kw3">unset</span></a><span class="br0">&#40;</span><span class="re0">$this</span>&#45;&gt;<span class="me1">embeddedForms</span><span class="br0">&#91;</span><span class="st0">&#8216;tels&#8217;</span><span class="br0">&#93;</span>&#45;&gt;<span class="me1">embeddedForms</span><span class="br0">&#91;</span><span class="re0">$key</span><span class="br0">&#93;</span>, <span class="re0">$taintedValues</span><span class="br0">&#91;</span><span class="st0">&#8216;tels&#8217;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="re0">$key</span><span class="br0">&#93;</span><span class="br0">&#41;</span>;<br />

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$telForm</span>&#45;&gt;<span class="me1">getObject</span><span class="br0">&#40;</span><span class="br0">&#41;</span>&#45;&gt;<span class="me1">delete</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />

&nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span><br />

&nbsp; &nbsp; <span class="br0">&#125;</span><br />

&nbsp; &nbsp; parent::<span class="me2">bind</span><span class="br0">&#40;</span><span class="re0">$taintedValues</span>, <span class="re0">$taintedFiles</span><span class="br0">&#41;</span>;<br />

&nbsp; <span class="br0">&#125;</span><br />

<br />

&nbsp; <span class="co1">// http://trac.symfony-project.org/ticket/5842</span><br />

&nbsp; <span class="kw2">public</span> <span class="kw2">function</span> saveEmbeddedForms<span class="br0">&#40;</span><span class="re0">$con</span> = <span class="kw2">null</span>, <span class="re0">$forms</span> = <span class="kw2">null</span>, <span class="re0">$taintedValues</span> = <span class="kw2">null</span>, <span class="re0">$taintedFiles</span> = <span class="kw2">null</span><span class="br0">&#41;</span><br />

&nbsp; <span class="br0">&#123;</span><br />

&nbsp; &nbsp; <span class="co1">//atualiza o imovel_id da telefone_imovel depois de ter o imovel salvo</span><br />

&nbsp; &nbsp; <span class="co1">//http://www.thatsquality.com/articles/embedding-child-forms-with-sfformpropel-a-practical-example</span><br />

&nbsp; &nbsp; <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re0">$this</span>&#45;&gt;<span class="me1">embeddedForms</span><span class="br0">&#91;</span><span class="st0">&#8216;tels&#8217;</span><span class="br0">&#93;</span>&#45;&gt;<span class="me1">getEmbeddedForms</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">as</span> <span class="re0">$telForm</span><span class="br0">&#41;</span><br />

&nbsp; &nbsp; <span class="br0">&#123;</span><br />

&nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span>!<span class="re0">$telForm</span>&#45;&gt;<span class="me1">getObject</span><span class="br0">&#40;</span><span class="br0">&#41;</span>&#45;&gt;<span class="me1">getImovelId</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />

&nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span><br />

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="re0">$telForm</span>&#45;&gt;<span class="me1">getObject</span><span class="br0">&#40;</span><span class="br0">&#41;</span>&#45;&gt;<span class="me1">setImovelId</span><span class="br0">&#40;</span><span class="re0">$this</span>&#45;&gt;<span class="me1">getObject</span><span class="br0">&#40;</span><span class="br0">&#41;</span>&#45;&gt;<span class="me1">getId</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />

&nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span><br />

&nbsp; &nbsp; <span class="br0">&#125;</span><br />

<br />

&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/is_null"><span class="kw3">is_null</span></a><span class="br0">&#40;</span><span class="re0">$con</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />

&nbsp; &nbsp; <span class="br0">&#123;</span><br />

&nbsp; &nbsp; &nbsp; <span class="re0">$con</span> = <span class="re0">$this</span>-&gt;<span class="me1">getConnection</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />

&nbsp; &nbsp; <span class="br0">&#125;</span><br />

<br />

&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/is_null"><span class="kw3">is_null</span></a><span class="br0">&#40;</span><span class="re0">$forms</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />

&nbsp; &nbsp; <span class="br0">&#123;</span><br />

&nbsp; &nbsp; &nbsp; <span class="re0">$forms</span> = <span class="re0">$this</span>-&gt;<span class="me1">embeddedForms</span>;<br />

&nbsp; &nbsp; <span class="br0">&#125;</span><br />

<br />

&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/is_null"><span class="kw3">is_null</span></a><span class="br0">&#40;</span><span class="re0">$taintedValues</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />

&nbsp; &nbsp;<span class="br0">&#123;</span><br />

&nbsp; &nbsp; &nbsp; <span class="re0">$taintedValues</span> = <span class="re0">$this</span>-&gt;<span class="me1">taintedValues</span>;<br />

&nbsp; &nbsp;<span class="br0">&#125;</span><br />

<br />

&nbsp; &nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/is_null"><span class="kw3">is_null</span></a><span class="br0">&#40;</span><span class="re0">$taintedFiles</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />

&nbsp; &nbsp;<span class="br0">&#123;</span><br />

&nbsp; &nbsp; &nbsp; <span class="re0">$taintedFiles</span> = <span class="re0">$this</span>-&gt;<span class="me1">taintedFiles</span>;<br />

&nbsp; &nbsp;<span class="br0">&#125;</span><br />

<br />

&nbsp; &nbsp;<span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re0">$forms</span> <span class="kw1">as</span> <span class="re0">$key</span> =&gt; <span class="re0">$form</span><span class="br0">&#41;</span><br />

&nbsp; &nbsp;<span class="br0">&#123;</span><br />

&nbsp; &nbsp; &nbsp; &nbsp;<span class="co1">// é esse trecho que corrige o problema</span><br />

&nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$form</span> instanceof sfFormPropel<span class="br0">&#41;</span><br />

&nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span><br />

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$form</span>-&gt;<span class="me1">bindAndSave</span><span class="br0">&#40;</span><span class="re0">$taintedValues</span><span class="br0">&#91;</span><span class="re0">$key</span><span class="br0">&#93;</span>, <span class="re0">$taintedFiles</span><span class="br0">&#41;</span>;<br />

&nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span><br />

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$this</span>&#45;&gt;<span class="me1">saveEmbeddedForms</span><span class="br0">&#40;</span><span class="re0">$con</span>, <span class="re0">$form</span>&#45;&gt;<span class="me1">getEmbeddedForms</span><span class="br0">&#40;</span><span class="br0">&#41;</span>, <span class="re0">$taintedValues</span><span class="br0">&#91;</span><span class="re0">$key</span><span class="br0">&#93;</span>, <span class="re0">$taintedFiles</span><span class="br0">&#41;</span>;<br />

&nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span><br />

&nbsp; &nbsp;<span class="br0">&#125;</span><br />

&nbsp;<span class="br0">&#125;</span><br />

<span class="br0">&#125;</span><br />

&nbsp;</div></p>

	<p>Agora vamos criar um partial para mostrar os telefones no formulário. Crie o arquivo <strong>apps/backend/imovel/templates/_tels.php</strong></p>

<div class="dean_ch" style="white-space: wrap;"><br />

&lt;div id=<span class="st0">&quot;embed_tels&quot;</span>&gt;<br />

<span class="kw2">&lt;?php</span> <span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re0">$form</span>-&gt;<span class="me1">getEmbeddedForms</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">as</span> <span class="re0">$key</span> =&gt; <span class="re0">$itemForm</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/substr"><span class="kw3">substr</span></a><span class="br0">&#40;</span><span class="re0">$key</span> , <span class="nu0">0</span> , <span class="nu0">8</span><span class="br0">&#41;</span> == <span class="st0">&#8216;tels&#8217;</span><span class="br0">&#41;</span>: <span class="kw2">?&gt;</span><br />

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;div <span class="kw2">class</span>=<span class="st0">&quot;sf_admin_form_row sf_admin_text sf_admin_form_field_telefone&lt;?php echo preg_replace(&quot;</span>/<span class="br0">&#91;</span>^<span class="nu0">0</span><span class="nu0">-9</span><span class="br0">&#93;</span>/<span class="st0">&quot;, &#8216;&#8217;, $key); //only number ?&gt;&quot;</span>&gt;<br />

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;div&gt;<br />

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw2">&lt;?php</span> <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="re0">$form</span><span class="br0">&#91;</span><span class="re0">$key</span><span class="br0">&#93;</span>; <span class="kw2">?&gt;</span><br />

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/div&gt;<br />

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;/div&gt;<br />

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw2">&lt;?php</span> <span class="kw1">endif</span> <span class="kw2">?&gt;</span><br />

<span class="kw2">&lt;?php</span> <span class="br0">&#125;</span> <span class="kw2">?&gt;</span><br />

&lt;/div&gt;<br />

&nbsp;</div>

	<p>Depois de ter criado o partial, basta adiciona-lo ao <strong>apps/backend/imovel/config/generator.yml</strong></p>

<div class="dean_ch" style="white-space: wrap;"><br />

edit:<br />

&nbsp; display: <span class="br0">&#91;</span>_tels, campo1, campo2<span class="br0">&#93;</span><br />

&nbsp;</div>

	<p>É isso.. tive como referência diversos sites, mas principalmente o blog that&#8217;s quality.</p>

	<p><a href="http://www.thatsquality.com/search?query=embedded">http://www.thatsquality.com/search?query=embedded</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.symfonybr.com/2010/04/18/tratando-multiplos-telefones-com-embedded-forms-no-admin-generator/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Adicionando um filtro customizado no admin generator (symfony 1.2)</title>
		<link>http://www.symfonybr.com/2010/04/18/adicionando-um-filtro-customizado-no-admin-generator-symfony-12/</link>
		<comments>http://www.symfonybr.com/2010/04/18/adicionando-um-filtro-customizado-no-admin-generator-symfony-12/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 15:03:44 +0000</pubDate>
		<dc:creator>pedro casado</dc:creator>
		
		<category><![CDATA[filter]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[symfony]]></category>

		<category><![CDATA[admin generator]]></category>

		<category><![CDATA[filtro]]></category>

		<guid isPermaLink="false">http://www.symfonybr.com/?p=64</guid>
		<description><![CDATA[	Tenho uma tabela (1-N) que possui diversos telefones relacionados.

	config/schema.yml:

 

imovel:

&#160; id:

&#160; &#40;&#8230;&#41;

&#160; created_at:



imovel_telefone:

&#160; id:

&#160; imovel_id:

&#160; telefone: &#160; varchar&#40;20&#41;

&#160; created_at:

&#160;

	No admin generator, será necessário criar um filtro customizado, porque o telefone não faz parte da tabela imovel. Para isso, vamos alterar o arquivo lib/filter/ImovelFormFilter.class.php



class ImovelFormFilter extends BaseImovelFormFilter

&#123;

&#160; public function configure&#40;&#41; &#123;

&#160; &#160; &#160;$this-&#62;widgetSchema&#91;&#8216;telefone&#8217;&#93; = new sfWidgetFormInput&#40;&#41;;

&#160; [...]]]></description>
			<content:encoded><![CDATA[	<p>Tenho uma tabela (1-N) que possui diversos telefones relacionados.</p>

	<p><strong>config/schema.yml:</strong></p>

<div class="dean_ch" style="white-space: wrap;"> <br />

imovel:<br />

&nbsp; id:<br />

&nbsp; <span class="br0">&#40;</span>&#8230;<span class="br0">&#41;</span><br />

&nbsp; created_at:<br />

<br />

imovel_telefone:<br />

&nbsp; id:<br />

&nbsp; imovel_id:<br />

&nbsp; telefone: &nbsp; varchar<span class="br0">&#40;</span><span class="nu0">20</span><span class="br0">&#41;</span><br />

&nbsp; created_at:<br />

&nbsp;</div>

	<p>No admin generator, será necessário criar um filtro customizado, porque o telefone não faz parte da tabela imovel. Para isso, vamos alterar o arquivo <strong>lib/filter/ImovelFormFilter.class.php</strong></p>

<div class="dean_ch" style="white-space: wrap;"><br />

<span class="kw2">class</span> ImovelFormFilter <span class="kw2">extends</span> BaseImovelFormFilter<br />

<span class="br0">&#123;</span><br />

&nbsp; <span class="kw2">public</span> <span class="kw2">function</span> configure<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />

&nbsp; &nbsp; &nbsp;<span class="re0">$this</span>-&gt;<span class="me1">widgetSchema</span><span class="br0">&#91;</span><span class="st0">&#8216;telefone&#8217;</span><span class="br0">&#93;</span> = <span class="kw2">new</span> sfWidgetFormInput<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />

&nbsp; &nbsp; &nbsp;<span class="re0">$this</span>-&gt;<span class="me1">validatorSchema</span><span class="br0">&#91;</span><span class="st0">&#8216;telefone&#8217;</span><span class="br0">&#93;</span> = <span class="kw2">new</span> sfValidatorPass<span class="br0">&#40;</span><a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st0">&#8216;required&#8217;</span> =&gt; <span class="kw2">false</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />

&nbsp; <span class="br0">&#125;</span><br />

<br />

&nbsp; <span class="kw2">public</span> <span class="kw2">function</span> getFields<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />

&nbsp; &nbsp; <span class="kw1">return</span> <a href="http://www.php.net/array_merge"><span class="kw3">array_merge</span></a><span class="br0">&#40;</span><a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st0">&#8216;telefone&#8217;</span> =&gt; <span class="st0">&#8216;Telefone&#8217;</span><span class="br0">&#41;</span>, parent::<span class="me2">getFields</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />

&nbsp; <span class="br0">&#125;</span><br />

<br />

&nbsp; protected <span class="kw2">function</span> addTelefoneColumnCriteria<span class="br0">&#40;</span>Criteria <span class="re0">$criteria</span>, <span class="re0">$field</span>, <span class="re0">$values</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />

&nbsp; &nbsp; <span class="re0">$criteria</span>-&gt;<span class="me1">addJoin</span><span class="br0">&#40;</span>ImovelPeer::<span class="me2">ID</span>, TelefoneImovelPeer::<span class="me2">IMOVEL_ID</span>, Criteria::<span class="me2">LEFT_JOIN</span><span class="br0">&#41;</span>;<br />

&nbsp; &nbsp; <span class="re0">$criteria</span>-&gt;<span class="me1">add</span><span class="br0">&#40;</span>TelefoneImovelPeer::<span class="me2">TELEFONE</span>, <span class="re0">$values</span><span class="br0">&#41;</span>;<br />

&nbsp; <span class="br0">&#125;</span><br />

<span class="br0">&#125;</span><br />

&nbsp;</div>

	<p>Para finalizar, altere o generator.yml do seu backend e adicione o field telefone.</p>

<div class="dean_ch" style="white-space: wrap;"><br />

filter:<br />

&nbsp; fields:<br />

&nbsp; &nbsp; display: &nbsp;<span class="br0">&#91;</span> telefone, campo1, campo2 <span class="br0">&#93;</span><br />

&nbsp;</div>

]]></content:encoded>
			<wfw:commentRss>http://www.symfonybr.com/2010/04/18/adicionando-um-filtro-customizado-no-admin-generator-symfony-12/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Symfony Experts</title>
		<link>http://www.symfonybr.com/2010/02/27/symfony-experts/</link>
		<comments>http://www.symfonybr.com/2010/02/27/symfony-experts/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 22:40:07 +0000</pubDate>
		<dc:creator>pedro casado</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://www.symfonybr.com/?p=63</guid>
		<description><![CDATA[	Dia 21 de fevereiro o pessoal do symfonynerds.com lançou um novo portal: www.symfonyexperts.com

	O site é basicamente igual ao WP Questions, porém totalmente voltado para o symfony.

	Vale a pena dar uma olhada.

	Mais informações aqui: http://symfonynerds.com/blog/?p=359]]></description>
			<content:encoded><![CDATA[	<p>Dia 21 de fevereiro o pessoal do symfonynerds.com lançou um novo portal: <a href="http://www.symfonyexperts.com">www.symfonyexperts.com</a></p>

	<p>O site é basicamente igual ao <a href="http://wpquestions.com/">WP Questions</a>, porém totalmente voltado para o symfony.</p>

	<p>Vale a pena dar uma olhada.</p>

	<p>Mais informações aqui: <a href="http://symfonynerds.com/blog/?p=359">http://symfonynerds.com/blog/?p=359</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.symfonybr.com/2010/02/27/symfony-experts/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Symfony - Snippet - Maneiras de acessar o objeto User</title>
		<link>http://www.symfonybr.com/2009/11/03/symfony-snippet-maneiras-de-acessar-o-objeto-user/</link>
		<comments>http://www.symfonybr.com/2009/11/03/symfony-snippet-maneiras-de-acessar-o-objeto-user/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 14:18:49 +0000</pubDate>
		<dc:creator>pedro casado</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[snippet]]></category>

		<guid isPermaLink="false">http://www.symfonybr.com/?p=60</guid>
		<description><![CDATA[	Esses dias precisei utilizar o objeto User do symfony dentro dos forms.

	Pesquisando na internet achei diversas maneiras de acessar o objeto pelo symfony.

  Template / View 
	
 &#160;$user = $sf_user;

 Model ou Form 
	
 &#160;$user = sfContext::getInstance&#40;&#41;-&#62;getUser&#40;&#41;;

 Action 
	
 &#160;$user = $this-&#62;getUser&#40;&#41;;

	ou
	
 &#160;$user = sfContext::getInstance&#40;&#41;-&#62;getUser&#40;&#41;;

	Creio que esse último exemplo funcione em qualquer lugar do [...]]]></description>
			<content:encoded><![CDATA[	<p>Esses dias precisei utilizar o objeto User do symfony dentro dos forms.</p>

	<p>Pesquisando na internet achei diversas maneiras de acessar o objeto pelo symfony.</p>

<h2>  Template / View </h2>
	
<div class="dean_ch" style="white-space: wrap;"> &nbsp;<span class="re0">$user</span> = <span class="re0">$sf_user</span>;</div>

<h2> Model ou Form </h2>
	
<div class="dean_ch" style="white-space: wrap;"> &nbsp;<span class="re0">$user</span> = sfContext::<span class="me2">getInstance</span><span class="br0">&#40;</span><span class="br0">&#41;</span>-&gt;<span class="me1">getUser</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>

<h2> Action </h2>
	
<div class="dean_ch" style="white-space: wrap;"> &nbsp;<span class="re0">$user</span> = <span class="re0">$this</span>-&gt;<span class="me1">getUser</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>

	<p>ou
	<br />
<div class="dean_ch" style="white-space: wrap;"> &nbsp;<span class="re0">$user</span> = sfContext::<span class="me2">getInstance</span><span class="br0">&#40;</span><span class="br0">&#41;</span>-&gt;<span class="me1">getUser</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></p>

	<p>Creio que esse último exemplo funcione em qualquer lugar do symfony.</p>

	<p>font: <a href="http://erisds.co.uk/symfony/snippet-symfony-user-access-the-user-object">http://erisds.co.uk/symfony/snippet-symfony-user-access-the-user-object</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.symfonybr.com/2009/11/03/symfony-snippet-maneiras-de-acessar-o-objeto-user/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cansei de digitar &#8220;php symfony&#8221;, agora uso &#8220;sf&#8221;</title>
		<link>http://www.symfonybr.com/2009/10/28/cansei-de-digitar-php-symfony-agora-uso-sf/</link>
		<comments>http://www.symfonybr.com/2009/10/28/cansei-de-digitar-php-symfony-agora-uso-sf/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 12:40:33 +0000</pubDate>
		<dc:creator>pedro casado</dc:creator>
		
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.symfonybr.com/?p=59</guid>
		<description><![CDATA[	Ontem cansei de tanto digitar &#8220;php symfony&#8221; no terminal. 

	Comecei um novo projeto no sf1.3 com o Doctrine. Como não conheço muito bem ainda essa versão, leveis uns trancos e tive que utilizar diversas vezes a linha de comando.

	Para evitar de ficar toda hora escrevendo &#8220;php symfony &#8230;&#8221; fiz um alias:


$ echo &#8220;alias sf=&#8216;php symfony&#8217;&#8221; [...]]]></description>
			<content:encoded><![CDATA[	<p>Ontem cansei de tanto digitar &#8220;php symfony&#8221; no terminal. </p>

	<p>Comecei um novo projeto no sf1.3 com o Doctrine. Como não conheço muito bem ainda essa versão, leveis uns trancos e tive que utilizar diversas vezes a linha de comando.</p>

	<p>Para evitar de ficar toda hora escrevendo &#8220;php symfony &#8230;&#8221; fiz um alias:</p>

<div class="shell">
$ echo &#8220;alias sf=&#8216;php symfony&#8217;&#8221; >> ~/.bash_profile
<br />

$ . ~/.bash_profile
</div>

	<p>Pronto. Ao invés de digitar &#8220;php symfony&#8221; basta utilizar &#8220;sf&#8221;.</p>

]]></content:encoded>
			<wfw:commentRss>http://www.symfonybr.com/2009/10/28/cansei-de-digitar-php-symfony-agora-uso-sf/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Snippet - Slug String</title>
		<link>http://www.symfonybr.com/2009/10/16/snippet-slug-string/</link>
		<comments>http://www.symfonybr.com/2009/10/16/snippet-slug-string/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 19:02:19 +0000</pubDate>
		<dc:creator>pedro casado</dc:creator>
		
		<category><![CDATA[php]]></category>

		<category><![CDATA[snippet]]></category>

		<category><![CDATA[function]]></category>

		<category><![CDATA[slug]]></category>

		<guid isPermaLink="false">http://www.symfonybr.com/?p=58</guid>
		<description><![CDATA[

&#60;?php

&#160;

function slugString&#40;$string, $replacement = &#8216;_&#8217;&#41;

&#123;

&#160; $aux = preg_quote&#40;$replacement, &#8216;/&#8217;&#41;;

&#160;

&#160; $map = array&#40;

&#160; &#160; &#8216;/à&#124;á&#124;ã&#124;â/&#8217; =&#62; &#8216;a&#8217;,

&#160; &#160; &#8216;/è&#124;é&#124;ê&#124;ẽ&#124;ë/&#8217; =&#62; &#8216;e&#8217;,

&#160; &#160; &#8216;/ì&#124;í&#124;î/&#8217; =&#62; &#8216;i&#8217;,

&#160; &#160; &#8216;/ò&#124;ó&#124;ô&#124;õ&#124;ø/&#8217; =&#62; &#8216;o&#8217;,

&#160; &#160; &#8216;/ù&#124;ú&#124;ũ&#124;û/&#8217; =&#62; &#8216;u&#8217;,

&#160; &#160; &#8216;/ç/&#8217; =&#62; &#8216;c&#8217;,

&#160; &#160; &#8216;/ñ/&#8217; =&#62; &#8216;n&#8217;,

&#160; &#160; &#8216;/ä&#124;æ/&#8217; =&#62; &#8216;ae&#8217;,

&#160; &#160; &#8216;/ö/&#8217; =&#62; &#8216;oe&#8217;,

&#160; &#160; &#8216;/ü/&#8217; =&#62; &#8216;ue&#8217;,

&#160; &#160; &#8216;/Ä/&#8217; =&#62; [...]]]></description>
			<content:encoded><![CDATA[<div class="dean_ch" style="white-space: wrap;"><br />

<span class="kw2">&lt;?php</span><br />

&nbsp;<br />

<span class="kw2">function</span> slugString<span class="br0">&#40;</span><span class="re0">$string</span>, <span class="re0">$replacement</span> = <span class="st0">&#8216;_&#8217;</span><span class="br0">&#41;</span><br />

<span class="br0">&#123;</span><br />

&nbsp; <span class="re0">$aux</span> = <a href="http://www.php.net/preg_quote"><span class="kw3">preg_quote</span></a><span class="br0">&#40;</span><span class="re0">$replacement</span>, <span class="st0">&#8216;/&#8217;</span><span class="br0">&#41;</span>;<br />

&nbsp;<br />

&nbsp; <span class="re0">$map</span> = <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><br />

&nbsp; &nbsp; <span class="st0">&#8216;/à|á|ã|â/&#8217;</span> =&gt; <span class="st0">&#8216;a&#8217;</span>,<br />

&nbsp; &nbsp; <span class="st0">&#8216;/è|é|ê|ẽ|ë/&#8217;</span> =&gt; <span class="st0">&#8216;e&#8217;</span>,<br />

&nbsp; &nbsp; <span class="st0">&#8216;/ì|í|î/&#8217;</span> =&gt; <span class="st0">&#8216;i&#8217;</span>,<br />

&nbsp; &nbsp; <span class="st0">&#8216;/ò|ó|ô|õ|ø/&#8217;</span> =&gt; <span class="st0">&#8216;o&#8217;</span>,<br />

&nbsp; &nbsp; <span class="st0">&#8216;/ù|ú|ũ|û/&#8217;</span> =&gt; <span class="st0">&#8216;u&#8217;</span>,<br />

&nbsp; &nbsp; <span class="st0">&#8216;/ç/&#8217;</span> =&gt; <span class="st0">&#8216;c&#8217;</span>,<br />

&nbsp; &nbsp; <span class="st0">&#8216;/ñ/&#8217;</span> =&gt; <span class="st0">&#8216;n&#8217;</span>,<br />

&nbsp; &nbsp; <span class="st0">&#8216;/ä|æ/&#8217;</span> =&gt; <span class="st0">&#8216;ae&#8217;</span>,<br />

&nbsp; &nbsp; <span class="st0">&#8216;/ö/&#8217;</span> =&gt; <span class="st0">&#8216;oe&#8217;</span>,<br />

&nbsp; &nbsp; <span class="st0">&#8216;/ü/&#8217;</span> =&gt; <span class="st0">&#8216;ue&#8217;</span>,<br />

&nbsp; &nbsp; <span class="st0">&#8216;/Ä/&#8217;</span> =&gt; <span class="st0">&#8216;Ae&#8217;</span>,<br />

&nbsp; &nbsp; <span class="st0">&#8216;/Ü/&#8217;</span> =&gt; <span class="st0">&#8216;Ue&#8217;</span>,<br />

&nbsp; &nbsp; <span class="st0">&#8216;/Ö/&#8217;</span> =&gt; <span class="st0">&#8216;Oe&#8217;</span>,<br />

&nbsp; &nbsp; <span class="st0">&#8216;/ß/&#8217;</span> =&gt; <span class="st0">&#8216;ss&#8217;</span>,<br />

&nbsp; &nbsp; <span class="st0">&#8216;/[^<span class="es0">\w</span><span class="es0">\s</span>]/&#8217;</span> =&gt; <span class="st0">&#8216; &#8216;</span>,<br />

&nbsp; &nbsp; <span class="st0">&#8216;/<span class="es0">&#92;</span>s+/&#8217;</span> =&gt; <span class="re0">$replacement</span><br />

&nbsp; <span class="br0">&#41;</span>;<br />

&nbsp;<br />

&nbsp; <span class="kw1">return</span> <a href="http://www.php.net/preg_replace"><span class="kw3">preg_replace</span></a><span class="br0">&#40;</span><a href="http://www.php.net/array_keys"><span class="kw3">array_keys</span></a><span class="br0">&#40;</span><span class="re0">$map</span><span class="br0">&#41;</span>, <a href="http://www.php.net/array_values"><span class="kw3">array_values</span></a><span class="br0">&#40;</span><span class="re0">$map</span><span class="br0">&#41;</span>, <span class="re0">$string</span><span class="br0">&#41;</span>;<br />

<span class="br0">&#125;</span><br />

&nbsp;</div>

	<p>Fonte: <a href="http://api.cakephp.org/view_source/inflector/#line-480">http://api.cakephp.org/view_source/inflector/#line-480</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.symfonybr.com/2009/10/16/snippet-slug-string/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
