<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><!-- generator="wordpress/2.3.3" --><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>phpleo.Blog » symfony</title>
	<link>http://blog.phpleo.com</link>
	<description>Las pocas paranoias que se pueden expresar.</description>
	<pubDate>Sat, 22 Mar 2008 21:49:54 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/phpleo-blog-symfony" type="application/rss+xml" /><item>
		<title>Redirección 301 en Symfony: filtros vs htaccess</title>
		<link>http://feeds.feedburner.com/~r/phpleo-blog-symfony/~3/224235834/</link>
		<comments>http://blog.phpleo.com/2008/01/27/redireccion-301-en-symfony-filtros-vs-htaccess/#comments</comments>
		<pubDate>Sun, 27 Jan 2008 07:30:32 +0000</pubDate>
		<dc:creator>phpleo</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[htaccess]]></category>

		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://blog.phpleo.com/2008/01/27/redireccion-301-en-symfony-filtros-vs-htaccess/</guid>
		<description><![CDATA[Este tema salio de una urgencia que tubo mi buen amigo Joan y como ya antes en la lista de symfony en español se había preguntado, salio la idea de resolverlo a modo de competencia. Por mi parte como Filtro de Symfony y por la parte de Joan con htaccess.
¿Para que sirven estas soluciones?
Pues bien [...]]]></description>
			<content:encoded><![CDATA[<p>Este tema salio de una urgencia que tubo mi buen amigo <a href="http://joanpiedra.com/">Joan</a> y como ya antes en la <a href="http://groups.google.com/group/symfony-es">lista de symfony en español</a> se había preguntado, salio la idea de resolverlo a modo de competencia. Por mi parte como <a href="http://www.librosweb.es/symfony/capitulo6/filtros.html">Filtro de Symfony</a> y por la parte de Joan con htaccess.</p>
<p>¿Para que sirven estas soluciones?<br />
Pues bien en Symfony por defecto las URI no terminan en slash (por temas SEO), es decir si terminan en algo así: <strong>www.site.com/moudulo/</strong>, esto te retornará un 404. Para evitar este problema y hacer una <strong>redirección 301</strong> de <strong>www.site.com/moudulo/</strong> a <strong>www.site.com/moudulo</strong> aquí las soluciones:</p>
<p><strong>Con un filtro en symfony:</strong><br />
Solo colócalo en la carpeta lib de tu aplicación</p>
<pre style="background: #000000 none repeat scroll 0% 50%; color: #d1d1d1; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"><span style="background: #281800 none repeat scroll 0% 50%; color: #ff8906; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">&lt;?php</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #e66170; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: bold">class</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"> redirect301Filter </span><span style="background: #281800 none repeat scroll 0% 50%; color: #e66170; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: bold">extends</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"> sfFilter</span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #b060b0; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">{</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">  </span><span style="background: #281800 none repeat scroll 0% 50%; color: #e66170; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: bold">public</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"> </span><span style="background: #281800 none repeat scroll 0% 50%; color: #e66170; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: bold">function</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"> execute</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">(</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">$filterChain</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">)</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">  </span><span style="background: #281800 none repeat scroll 0% 50%; color: #b060b0; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">{</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">    </span><span style="background: #281800 none repeat scroll 0% 50%; color: #e66170; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: bold">if</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"> </span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">(</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">$</span><span style="background: #281800 none repeat scroll 0% 50%; color: #e66170; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: bold">this</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">-</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">&gt;</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">isFirstCall</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">(</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">)</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">)</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">    </span><span style="background: #281800 none repeat scroll 0% 50%; color: #b060b0; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">{</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">      </span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">$uri</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"> </span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">=</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"> </span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">$</span><span style="background: #281800 none repeat scroll 0% 50%; color: #e66170; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: bold">this</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">-</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">&gt;</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">getContext</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">(</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">)</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">-</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">&gt;</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">getRequest</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">(</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">)</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">-</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">&gt;</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">getUri</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">(</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">)</span><span style="background: #281800 none repeat scroll 0% 50%; color: #b060b0; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">;</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">      </span><span style="background: #281800 none repeat scroll 0% 50%; color: #e66170; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: bold">if</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"> </span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">(</span><span style="background: #281800 none repeat scroll 0% 50%; color: #e66170; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: bold">preg_match</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">(</span><span style="background: #281800 none repeat scroll 0% 50%; color: #00c4c4; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">&#8216;</span><span style="background: #281800 none repeat scroll 0% 50%; color: #02d045; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">#</span><span style="background: #281800 none repeat scroll 0% 50%; color: #00c4c4; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">/</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">$</span><span style="background: #281800 none repeat scroll 0% 50%; color: #02d045; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">#</span><span style="background: #281800 none repeat scroll 0% 50%; color: #00c4c4; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">&#8216;</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">,</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"> </span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">$uri</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">)</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">)</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">      </span><span style="background: #281800 none repeat scroll 0% 50%; color: #b060b0; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">{</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">        </span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">$uri</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"> </span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">=</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"> </span><span style="background: #281800 none repeat scroll 0% 50%; color: #e66170; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: bold">preg_replace</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">(</span><span style="background: #281800 none repeat scroll 0% 50%; color: #00c4c4; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">&#8216;</span><span style="background: #281800 none repeat scroll 0% 50%; color: #02d045; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">#</span><span style="background: #281800 none repeat scroll 0% 50%; color: #00c4c4; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">/</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">$</span><span style="background: #281800 none repeat scroll 0% 50%; color: #02d045; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">#</span><span style="background: #281800 none repeat scroll 0% 50%; color: #00c4c4; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">&#8216;</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">,</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"> </span><span style="background: #281800 none repeat scroll 0% 50%; color: #00c4c4; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">&#8221;</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">,</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"> </span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">$uri</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">)</span><span style="background: #281800 none repeat scroll 0% 50%; color: #b060b0; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">;</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">        </span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">$</span><span style="background: #281800 none repeat scroll 0% 50%; color: #e66170; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: bold">this</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">-</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">&gt;</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">getContext</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">(</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">)</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">-</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">&gt;</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">getController</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">(</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">)</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">-</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">&gt;</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">redirect</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">(</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">$uri</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">,</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"> </span><span style="background: #281800 none repeat scroll 0% 50%; color: #008c00; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">301</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">)</span><span style="background: #281800 none repeat scroll 0% 50%; color: #b060b0; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">;</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">      </span><span style="background: #281800 none repeat scroll 0% 50%; color: #b060b0; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">}</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">    </span><span style="background: #281800 none repeat scroll 0% 50%; color: #b060b0; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">}</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">    </span><span style="background: #281800 none repeat scroll 0% 50%; color: #9999a9; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">// Ejecutar el proximo filtro</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">    </span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">$filterChain</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">-</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">&gt;</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">execute</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">(</span><span style="background: #281800 none repeat scroll 0% 50%; color: #d2cd86; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">)</span><span style="background: #281800 none repeat scroll 0% 50%; color: #b060b0; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">;</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">  </span><span style="background: #281800 none repeat scroll 0% 50%; color: #b060b0; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">}</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span>
<span style="background: #281800 none repeat scroll 0% 50%; color: #b060b0; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial">}</span><span style="background: #281800 none repeat scroll 0% 50%; color: #ffffff; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></span></pre>
<p>Y activas el filtro así:</p>
<p><a href="http://blog.phpleo.com/wp-content/uploads/2008/01/sshot-2008-01-27-02-11-27.png" title="sshot-2008-01-27-02-11-27.png"></a></p>
<p style="text-align: center"><a href="http://blog.phpleo.com/wp-content/uploads/2008/01/sshot-2008-01-27-02-11-27.png" title="sshot-2008-01-27-02-11-27.png"><img src="http://blog.phpleo.com/wp-content/uploads/2008/01/sshot-2008-01-27-02-11-27.png" alt="sshot-2008-01-27-02-11-27.png" /></a></p>
<p><strong>Ahora la versión de Joan con htaccess:</strong></p>
<pre style='color:#d1d1d1;background:#000000;'>Options <span style='color:#d2cd86; '>+</span>FollowSymLinks <span style='color:#d2cd86; '>+</span>ExecCGI

<span style='color:#d2cd86; '>&lt;</span>IfModule mod_rewrite<span style='color:#d2cd86; '>.</span>c<span style='color:#d2cd86; '>></span>
  RewriteEngine On

<span style='color:#008073; '>  # uncomment the following </span><span style='color:#008073; '>line</span><span style='color:#d2cd86; '>,</span><span style='color:#008073; '> </span><span style='color:#008073; '>if</span><span style='color:#008073; '> you are having trouble</span>
<span style='color:#008073; '>  # getting no_script_name to work</span>
  RewriteBase <span style='color:#d2cd86; '>/</span>

<span style='color:#008073; '>  # we skip all files with </span><span style='color:#d2cd86; '>.</span><span style='color:#008073; '>something</span>
  RewriteCond <span style='color:#d2cd86; '>%</span><span style='color:#b060b0; '>{</span>REQUEST_URI<span style='color:#b060b0; '>}</span> \<span style='color:#d2cd86; '>.</span><span style='color:#d2cd86; '>.</span><span style='color:#d2cd86; '>+</span>$
  RewriteCond <span style='color:#d2cd86; '>%</span><span style='color:#b060b0; '>{</span>REQUEST_URI<span style='color:#b060b0; '>}</span> <span style='color:#d2cd86; '>!</span>\<span style='color:#d2cd86; '>.</span>html$
  RewriteRule <span style='color:#d2cd86; '>.</span><span style='color:#d2cd86; '>*</span> <span style='color:#d2cd86; '>-</span> <span style='color:#d2cd86; '>[</span>L<span style='color:#d2cd86; '>]</span>

<span style='color:#008073; '>  # remove trailing slash</span>
  RewriteCond <span style='color:#d2cd86; '>%</span><span style='color:#b060b0; '>{</span>REQUEST_FILENAME<span style='color:#b060b0; '>}</span> <span style='color:#d2cd86; '>!</span><span style='color:#d2cd86; '>-</span>d
  RewriteCond <span style='color:#d2cd86; '>%</span><span style='color:#b060b0; '>{</span>REQUEST_URI<span style='color:#b060b0; '>}</span> <span style='color:#d2cd86; '>^</span><span style='color:#d2cd86; '>(</span><span style='color:#d2cd86; '>.</span><span style='color:#d2cd86; '>*</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>/</span>$
  RewriteRule <span style='color:#d2cd86; '>^</span><span style='color:#d2cd86; '>(</span><span style='color:#d2cd86; '>.</span><span style='color:#d2cd86; '>*</span><span style='color:#d2cd86; '>)</span><span style='color:#d2cd86; '>/</span>$ $<span style='color:#008c00; '>1</span> <span style='color:#d2cd86; '>[</span>R<span style='color:#d2cd86; '>=</span><span style='color:#008c00; '>302</span><span style='color:#d2cd86; '>,</span>L<span style='color:#d2cd86; '>]</span>

<span style='color:#008073; '>  # we check </span><span style='color:#008073; '>if</span><span style='color:#008073; '> the </span><span style='color:#d2cd86; '>.</span><span style='color:#008073; '>html version is here </span><span style='color:#d2cd86; '>(</span><span style='color:#008073; '>caching</span><span style='color:#d2cd86; '>)</span>
  RewriteRule <span style='color:#d2cd86; '>^</span>$ index<span style='color:#d2cd86; '>.</span>html <span style='color:#d2cd86; '>[</span>QSA<span style='color:#d2cd86; '>]</span>
  RewriteRule <span style='color:#d2cd86; '>^</span><span style='color:#d2cd86; '>(</span><span style='color:#d2cd86; '>[</span><span style='color:#d2cd86; '>^</span><span style='color:#d2cd86; '>.</span><span style='color:#d2cd86; '>]</span><span style='color:#d2cd86; '>+</span><span style='color:#d2cd86; '>)</span>$ $<span style='color:#009f00; '>1.</span>html <span style='color:#d2cd86; '>[</span>QSA<span style='color:#d2cd86; '>]</span>
  RewriteCond <span style='color:#d2cd86; '>%</span><span style='color:#b060b0; '>{</span>REQUEST_FILENAME<span style='color:#b060b0; '>}</span> <span style='color:#d2cd86; '>!</span><span style='color:#d2cd86; '>-</span>f

<span style='color:#008073; '>  # no</span><span style='color:#d2cd86; '>,</span><span style='color:#008073; '> so we redirect to our front web controller</span>
  RewriteRule <span style='color:#d2cd86; '>^</span><span style='color:#d2cd86; '>(</span><span style='color:#d2cd86; '>.</span><span style='color:#d2cd86; '>*</span><span style='color:#d2cd86; '>)</span>$ index<span style='color:#d2cd86; '>.</span>php <span style='color:#d2cd86; '>[</span>QSA<span style='color:#d2cd86; '>,</span>L<span style='color:#d2cd86; '>]</span>
<span style='color:#d2cd86; '>&lt;</span><span style='color:#d2cd86; '>/</span>IfModule<span style='color:#d2cd86; '>></span>

<span style='color:#008073; '># big crash from our front web controller</span>
ErrorDocument <span style='color:#008c00; '>500</span> <span style='color:#02d045; '>&#8220;</span><span style='color:#00c4c4; '>&lt;h2>Application error&lt;/h2>symfony application failed to start properly</span><span style='color:#02d045; '>&#8220;</span>
</pre>
<p>Para este caso (y como lo comenta Joan) el <strong>RewriteBase /</strong> es obligatorio si te quieres evitar problemas.</p>
<p>En las pruebas de rendimiento obviamente htaccess sale ganando, pero queda de tu parte elegir cual usar <img src='http://blog.phpleo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Si no es del todo legible el código colocado mas arriba (comienzo a odiar al iG:Syntax Hiliter) puedes descargarlo de aquí <a href="http://blog.phpleo.com/wp-content/uploads/2008/01/filtro_vs_htaccess.zip" title="filtro_vs_htaccess.zip">filtro_vs_htaccess.zip</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.phpleo.com/2008/01/27/redireccion-301-en-symfony-filtros-vs-htaccess/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.phpleo.com/2008/01/27/redireccion-301-en-symfony-filtros-vs-htaccess/</feedburner:origLink></item>
		<item>
		<title>Enlaces 2008-01-22</title>
		<link>http://feeds.feedburner.com/~r/phpleo-blog-symfony/~3/221248080/</link>
		<comments>http://blog.phpleo.com/2008/01/22/enlaces-2008-01-22/#comments</comments>
		<pubDate>Tue, 22 Jan 2008 15:32:25 +0000</pubDate>
		<dc:creator>phpleo</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[plugins]]></category>

		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://blog.phpleo.com/2008/01/22/enlaces-2008-01-22/</guid>
		<description><![CDATA[
Nueva release de mi plugin sfCssTabs v0.1.7, En esta agrego soporte para I18N, creadas las carpetas para separar las versiones de symfony 1.0 y 1.1, además de convertir a UTF8 los archivos de configuración YAML. Si tienes algún problema con la carpeta web del plugin, puedes ver el ticket #2609. Además ya tengo una nueva [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>Nueva release de mi plugin <a href="http://trac.symfony-project.com/wiki/sfCssTabsPlugin">sfCssTabs v0.1.7</a>, En esta agrego soporte para I18N, creadas las carpetas para separar las versiones de symfony 1.0 y 1.1, además de convertir a UTF8 los archivos de configuración YAML. Si tienes algún problema con la carpeta web del plugin, puedes ver el <a href="http://trac.symfony-project.com/ticket/2609">ticket #2609</a>. Además ya tengo una nueva <a href="http://trac.symfony-project.com/ticket/2810">asignación</a> ^^.<br />
.</li>
<li><a href="http://www.symfony-project.org/blog/2008/01/22/symfony-1-0-11-is-out">Symfony 1.0.11</a> is out. Recién salidito del horno <img src='http://blog.phpleo.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
.</li>
<li><a href="http://www.symfony.es/2008/01/21/%c2%bfaun-no-eres-un-symfonian/">Symfonians</a>. Es una nueva aplicación desarrollada con symfony que pretende reunir a todos los usuarios de este framework e incluso recolectar <a href="http://symfonians.net/jobs">ofertas de trabajo</a>.<br />
.</li>
<li><a href="http://groups.google.com/group/symfony-es/web/chat-para-symfonicos">Chat en español para usuarios de symfony</a>. Un punto más de reunión para todo usuario nuevo o avanzado.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.phpleo.com/2008/01/22/enlaces-2008-01-22/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.phpleo.com/2008/01/22/enlaces-2008-01-22/</feedburner:origLink></item>
		<item>
		<title>Verificando que este activa la opción I18N y el helper de traducción en Symfony</title>
		<link>http://feeds.feedburner.com/~r/phpleo-blog-symfony/~3/219133989/</link>
		<comments>http://blog.phpleo.com/2008/01/18/verificando-que-este-activa-la-opcion-i18n-y-el-helper-de-traduccion-en-symfony/#comments</comments>
		<pubDate>Fri, 18 Jan 2008 19:30:18 +0000</pubDate>
		<dc:creator>phpleo</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[helpers]]></category>

		<category><![CDATA[i18n]]></category>

		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://blog.phpleo.com/2008/01/18/verificando-que-este-activa-la-opcion-i18n-y-el-helper-de-traduccion-en-symfony/</guid>
		<description><![CDATA[Pues eso, me está tocando reparar un bug descubierto en mi plugin sfCssTabs y a la vez agregarle un detalle más: la I18N.
Para esto he tenido que mirar en la cache una vez regenerada después de activar la opción en el archivo settings.yml de la aplicación (frontend, backend, etc....) .
Entonces para verificar si la opción [...]]]></description>
			<content:encoded><![CDATA[<p>Pues eso, me está tocando reparar un bug descubierto en mi <a href="http://trac.symfony-project.com/wiki/sfCssTabsPlugin">plugin sfCssTabs</a> y a la vez agregarle un detalle más: la <a href="http://en.wikipedia.org/wiki/Internationalization_and_localization">I18N</a>.</p>
<p>Para esto he tenido que mirar en la cache una vez regenerada después de activar la opción en el archivo settings.yml de la aplicación (frontend, backend, etc....) .</p>
<p>Entonces para verificar si la opción de I18N está activada solo hay que hacer esto:</p>
<div class="igBar"><span id="lphp-3"><a href="#" onclick="javascript:showPlainTxt('php-3'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-3">
<div class="php">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#616100;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span>sfConfig::<span style="color:#006600;">get</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'sf_i18n'</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">// do something....</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Y como todo helper en symfony es una función, para verificar que esté presente el (valga la redundancia) helper de traducción:</p>
<div class="igBar"><span id="lphp-4"><a href="#" onclick="javascript:showPlainTxt('php-4'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-4">
<div class="php">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#616100;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span><a href="http://www.php.net/function_exists"><span style="color:#000066;">function_exists</span></a><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#FF0000;">'__'</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">// do something....</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Para más detalles pueden ver el <a href="http://www.librosweb.es/symfony/capitulo13.html">Capítulo 13. Internacionalización y localización</a> de la guía de Symofny.</p>
<p>Listo, salu2 ^^</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.phpleo.com/2008/01/18/verificando-que-este-activa-la-opcion-i18n-y-el-helper-de-traduccion-en-symfony/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.phpleo.com/2008/01/18/verificando-que-este-activa-la-opcion-i18n-y-el-helper-de-traduccion-en-symfony/</feedburner:origLink></item>
		<item>
		<title>Steer CMS</title>
		<link>http://feeds.feedburner.com/~r/phpleo-blog-symfony/~3/216726235/</link>
		<comments>http://blog.phpleo.com/2008/01/14/steer-cms/#comments</comments>
		<pubDate>Mon, 14 Jan 2008 16:26:13 +0000</pubDate>
		<dc:creator>phpleo</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[cms]]></category>

		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://blog.phpleo.com/2008/01/14/steer-cms/</guid>
		<description><![CDATA[Y se comienza la semana recibiendo un nuevo proyecto open source construido con Symfony y Blueprint. Se trata de Steer CMS y tiene muy poco de ser agregado a la lista de aplicaciones desarrolladas con symfony: By godiedelrio — 01/14/08 15:51:52.

Liberado bajo licensia MIT, nos presenta las siguientes características:

Plantillas y módulos de publicación generados dinámicamente.
Video [...]]]></description>
			<content:encoded><![CDATA[<p>Y se comienza la semana recibiendo un nuevo proyecto open source construido con <a href="http://www.symfony-project.com/">Symfony</a> y <a href="http://code.google.com/p/blueprintcss/">Blueprint</a>. Se trata de <strong><a href="http://www.steercms-project.org/">Steer CMS</a></strong> y tiene muy poco de ser agregado a la <a href="http://trac.symfony-project.com/wiki/ApplicationsDevelopedWithSymfony">lista de aplicaciones desarrolladas con symfony</a>: <em>By godiedelrio — 01/14/08 15:51:52</em>.</p>
<p style="text-align: center"><img src="http://blog.phpleo.com/wp-content/uploads/2008/01/sshot-2008-01-14-11-24-02.png" alt="sshot-2008-01-14-11-24-02.png" /></p>
<p>Liberado bajo licensia MIT, nos presenta las siguientes características:</p>
<ul>
<li>Plantillas y módulos de publicación generados dinámicamente.</li>
<li>Video streaming, animaciones flash, imágenes y documentos manejados desde el propio CMS.</li>
<li>Búsquedas por contenido, meta-datos, palabras claves, descriptciones y tags.</li>
<li>Calendario integrado para gestión de datos y eventos.</li>
<li>Incluye un blog.</li>
<li>Gestión de usuarios a través de sfGuard.</li>
<li>I18N.</li>
<li>Gestión de cache a travez de un archivo YAML</li>
<li>WYSIWYG integrado, y mas...</li>
</ul>
<p>Como buen CMS, en el frontend no encontrarás modulos ya que estos los irás creando a tu medida. Además cabe destacar que para este proyecto se han desarrollado una serie de plugins que no encontraras en el repositorio oficial. Algunos de ellos son:</p>
<ul>
<li>steerCMSBlogPlugin</li>
<li>steerCMSCachedBehaviorPlugin</li>
<li>steerCMSCalendarPlugin</li>
<li>y 8 plugins más.</li>
</ul>
<p>A primera vista sobre los plugins han <a href="http://www.symfony.es/2008/01/09/el-lio-de-los-plugins-de-symfony/">omitido el estándar para los nombres</a>, pero esto no es motivo para no probarlo.</p>
<p>_<br />
<strong>Fuente:</strong> <a href="http://www.steercms-project.org/">Steer CMS Project</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.phpleo.com/2008/01/14/steer-cms/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.phpleo.com/2008/01/14/steer-cms/</feedburner:origLink></item>
		<item>
		<title>Smashing Magazine le da mala fama a Symfony</title>
		<link>http://feeds.feedburner.com/~r/phpleo-blog-symfony/~3/211824136/</link>
		<comments>http://blog.phpleo.com/2008/01/05/smashing-magazine-le-da-mala-fama-a-symfony/#comments</comments>
		<pubDate>Sat, 05 Jan 2008 05:05:21 +0000</pubDate>
		<dc:creator>phpleo</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://blog.phpleo.com/2008/01/05/smashing-magazine-le-da-mala-fama-a-symfony/</guid>
		<description><![CDATA[Hoy Smashing Magazine ha realizado como siempre un excelente artículo como nos tiene acostumbrados titulado Frameworks Round-Up: When To Use, How To Choose?, en el que hablan sobre la arquitectura MVC y los frameworks más conocidos para CSS, JavaScritp, PHP y otros lenguajes. Pero no leyendo muy lejos me doy cuenta de esto:
Symphony - A [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy <a href="http://www.smashingmagazine.com/">Smashing Magazine</a> ha realizado como siempre un excelente artículo como nos tiene acostumbrados titulado <a href="http://www.smashingmagazine.com/2008/01/04/frameworks-round-up-when-to-use-how-to-choose/">Frameworks Round-Up: When To Use, How To Choose?</a>, en el que hablan sobre la arquitectura MVC y los frameworks más conocidos para CSS, JavaScritp, PHP y otros lenguajes. Pero no leyendo muy lejos me doy cuenta de esto:</p>
<blockquote><p>Symphony - A feature packed framework, but <strong><em>has a reputation for being server-intensive</em></strong></p></blockquote>
<p>Con esto lo primero que recordé fue un artículo de Javi llamado <a href="http://www.symfony.es/2007/09/18/exprimiendo-symfony-hasta-el-limite/">Exprimiendo Symfony hasta el límite</a>, esto debido a una prueba de <strong>"Hola mundo"</strong> que se realizaron a varios frameworks y en la que se concluyó injustamente de que symfony era lento.</p>
<p>Este no es el único comentario que he visto así, parece ser que al igual que otros Smashing Magazine se ha basado de una fuente antigua (pienso yo) dando como resultado aquel comentario. Con esto no quiero dar lugar a pensar que soy un purista de symfony (pero parece que falta poco xD), y entiendo por lo que puede pasar el equipo de esta revista electrónica para dar lugar a tan buenos artículos, pero me queda la duda de <strong><em>¿que se podría hacer para difundir mejor este framework?</em></strong>.</p>
<p>Sin duda creo que los que seguimos este framework de alguna u otra manera tenemos la difícil tarea de mejorar su difusión y sobre todo aportar para mejorarlo.</p>
<p>A todo esto mi respuesta al artículo fue la siguiente, la cual por cierto no paso la prueba de spam xD:</p>
<blockquote><p> Thank you for the article. I would like to add something.</p>
<p>Whenever I see an article about the symfony framework, This is seen bad way or shifted to other, this is unfair and the reason I say this is as follows:</p>
<p>I have worked with several frameworks: kumbia, cakephp, codeigniter, zend framework, etc; And can assure you that is the most comprehensive in many respects is symfony and we can check for his community and his <a href="http://www.symfony-project.org/book/1_0/" title="Book of Symfony">book here</a></p>
<p>The aspect of being seen with the reputation server to consume much was due to a test that was unfair, and you can see the response from the <a href="http://www.symfony-project.org/blog//2007/06/11/is-symfony-too-slow-for-real-world-usage">team symfony here</a> and <a href="http://trac.symfony-project.com/wiki/HowToOptimizeSymfonyForHelloWorldBenchmark">how to optimize</a></p>
<p>Moreover, in his book officer indicate when it is advisable to use symfony in theparagraph Is <a href="http://www.symfony-project.org/book/1_0/01-Introducing-Symfony">Symfony for Me?</a></p>
<p>I hope that those who see my comment will be encouraged to try symfony framework, not in vain what yahoo is using the new version of del.icio.us <img src='http://blog.phpleo.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Greetings and remain so.</p></blockquote>
<p>Creo que a todo esto realizaré un articulo sobre que posee symfony y por que debería ser (al menos) probado =D</p>
<p>_<br />
<strong>Fuentes:</strong></p>
<ul>
<li><a href="http://www.smashingmagazine.com/2008/01/04/frameworks-round-up-when-to-use-how-to-choose/">Frameworks Round-Up: When To Use, How To Choose?</a></li>
<li><a href="http://www.symfony.es/2007/09/18/exprimiendo-symfony-hasta-el-limite/">Exprimiendo Symfony hasta el límite</a></li>
<li><a href="http://www.symfony.es/2007/06/12/%c2%bfes-symfony-demasiado-lento/">¿Es Symfony demasiado lento?</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.phpleo.com/2008/01/05/smashing-magazine-le-da-mala-fama-a-symfony/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.phpleo.com/2008/01/05/smashing-magazine-le-da-mala-fama-a-symfony/</feedburner:origLink></item>
		<item>
		<title>Mi nuevo plugin: sfCompressWebFiles</title>
		<link>http://feeds.feedburner.com/~r/phpleo-blog-symfony/~3/203714378/</link>
		<comments>http://blog.phpleo.com/2007/12/20/mi-nuevo-plugin-sfcompresswebfiles/#comments</comments>
		<pubDate>Thu, 20 Dec 2007 20:28:33 +0000</pubDate>
		<dc:creator>phpleo</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[plugins]]></category>

		<category><![CDATA[symfony]]></category>

		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://blog.phpleo.com/2007/12/20/mi-nuevo-plugin-sfcompresswebfiles/</guid>
		<description><![CDATA[Yeah! otro plugin más, esta vez con la finalidad de optimizar las hojas de estilos y los archivos javaScript.
sfCompressWebFiles permite lanzar tareas desde la CLI de symfony para poder comprimir estos ficheros. De momento estoy usando la librería YUI Compress (con licencia BSD modificada, sin publicidad) que permite quitar los espacios en blanco y los [...]]]></description>
			<content:encoded><![CDATA[<p>Yeah! otro plugin más, esta vez con la finalidad de optimizar las <strong>hojas de estilos</strong> y los archivos <strong>javaScript</strong>.</p>
<p><a href="http://trac.symfony-project.com/wiki/sfCompressWebFilesPlugin">sfCompressWebFiles</a> permite lanzar tareas desde la CLI de symfony para poder comprimir estos ficheros. De momento estoy usando la librería <a href="http://www.julienlecomte.net/yuicompressor/">YUI Compress</a> (con licencia BSD modificada, sin publicidad) que permite quitar los espacios en blanco y los saltos de línea juntando todo el código en una sola línea. Pero dentro de mis planes están integrar <a href="http://dean.edwards.name/packer/">Packer</a> (con licencia GPL 2.0), y <a href="http://www.google.com.pe/url?sa=t&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fjavascript.crockford.com%2Fjsmin.html&amp;ei=sM9qR_jbAYK4evqT5Tw&amp;usg=AFQjCNE1_7aOek09NYLfSjTjZWyP9MX2nA&amp;sig2=AZUm_F6hOku7zBf7d-22UA">JSMin</a> (con licencia MIT). Como siempre este nuevo plugin lo entrego con licencia MIT para la comunidad <img src='http://blog.phpleo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>De momento el plugin puede realizar las siguientes tareas:</p>
<ul>
<li>Comprimir todos los archivos CSS y JS:
<div class="igBar"><span id="lcode-9"><a href="#" onclick="javascript:showPlainTxt('code-9'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-9">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">symfony compress-web-files </div>
</li>
</ol>
</div>
</div>
</div>
<p>
O tambien puedes usar el alias cwf:</p>
<div class="igBar"><span id="lcode-10"><a href="#" onclick="javascript:showPlainTxt('code-10'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-10">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">symfony cwf </div>
</li>
</ol>
</div>
</div>
</div>
<p></li>
<li>Comprimir solo los archivos CSS
<div class="igBar"><span id="lcode-11"><a href="#" onclick="javascript:showPlainTxt('code-11'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-11">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">// sin alias:</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">symfony compress-web-files css</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">// con alias:</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">symfony cwf css </div>
</li>
</ol>
</div>
</div>
</div>
<p></li>
<li>Comprimir solo los archivos JS
<div class="igBar"><span id="lcode-12"><a href="#" onclick="javascript:showPlainTxt('code-12'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-12">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">// sin alias</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">symfony compress-web-files js</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#FF9933; font-style:italic;">// con alias</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">symfony cwf js </div>
</li>
</ol>
</div>
</div>
</div>
<p></li>
</ul>
<p>Una vez ejecutadas las tareas y viendo que se realizan procesos de minimizar el peso de estos, al lado de cada archivo js o css se crean otros nuevos (no se reemplazan los originales). Estos nuevos archivos tendrán como extensión <strong>.min.css</strong> y/o <strong>.min.js</strong>.</p>
<p><a href="http://www.symfony.es/">Javi</a> una vez que vio de que se trataba este plugin me comenzó a dar nuevas ideas de como mejorar su funcionalidad y de la misma manera estoy atento a nuevas propuestas que me puedan plantear.</p>
<p>Desde ya muchas gracias a <a href="http://www.julienlecomte.net/blog/">Julien Lecomte</a>. Un saludo y que lo disfruten.</p>
<p>-<br />
Pagina oficial del proyecto: <a href="http://trac.symfony-project.com/wiki/sfCompressWebFilesPlugin">sfCompressWebFilesPlugin</a><br />
Inspiración: <a href="http://www.maxkiesler.com/index.php/weblog/comments/how_to_minimize_your_javascript_and_css_files_for_faster_page_loads/">How to minimize your javascript and css files for faster page loads</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.phpleo.com/2007/12/20/mi-nuevo-plugin-sfcompresswebfiles/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.phpleo.com/2007/12/20/mi-nuevo-plugin-sfcompresswebfiles/</feedburner:origLink></item>
		<item>
		<title>Symfoclipse, el IDE para Symfony</title>
		<link>http://feeds.feedburner.com/~r/phpleo-blog-symfony/~3/200962539/</link>
		<comments>http://blog.phpleo.com/2007/12/14/symfoclipse-el-ide-para-symfony/#comments</comments>
		<pubDate>Sat, 15 Dec 2007 03:14:51 +0000</pubDate>
		<dc:creator>phpleo</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[eclipse]]></category>

		<category><![CDATA[PDT]]></category>

		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://blog.phpleo.com/2007/12/14/symfoclipse-el-ide-para-symfony/</guid>
		<description><![CDATA[El último post de mi amigo Mauro Casula ha sido muy interesante dándome a descubrir este plugin para Eclipse (en sí para Eclipse PDT) llamado Symfoclipse.

Como se habrán dado cuenta por el nombre, Symfoclipse viene en nuestra ayuda para poder desarrollar aplicaciones web con mi framework favorito: Symfony. Y no tan solo eso, también permite [...]]]></description>
			<content:encoded><![CDATA[<p>El <a href="http://www.symfony-framework.com/2007/12/10/best-symfony-ide-eclipse-pdt-symfoclipse-clay/">último post</a> de mi amigo <a href="http://www.symfony-framework.com/">Mauro Casula</a> ha sido muy interesante dándome a descubrir este plugin para Eclipse (en sí para <a href="http://www.eclipse.org/pdt/">Eclipse PDT</a>) llamado <a href="http://noy.cc/symfoclipse/index.html">Symfoclipse.</a></p>
<p style="text-align: center"><img src="http://blog.phpleo.com/wp-content/uploads/2007/12/sshot-2007-12-14-22-16-20.jpg" alt="sshot-2007-12-14-22-16-20.jpg" /></p>
<p>Como se habrán dado cuenta por el nombre, Symfoclipse viene en nuestra ayuda para poder desarrollar aplicaciones web con mi framework favorito: <a href="http://www.symfony-project.org/">Symfony</a>. Y no tan solo eso, también permite lanzar las tareas de su CLI desde el mismo IDE.</p>
<p>Como última característica (que veo de lo más util) , es que trae integrado un editor y validador (sí validador!!) de archivos <a href="http://www.yaml.org/">YAML</a>. Digo de los más útil por que los usuarios con windows tenian hasta el momento que usar algún editor externo como Notepad++ (que me ha fallado en el manejo de UTF-8), o si prefieres gastar UltraEdit-32 (este si que maneja bien el UTF-8). En cambio los usuarios de Mac tienen la gran ventaja de tener en sus manos a TextMate.</p>
<p>No conforme con presentarnos el editor, el buen Mauro nos muestra como instalar también Eclipse PDT y como bono <a href="http://azzurri.jp/en/software/clay/index.jsp">Clay</a> para poder diseñar nuestras bases de datos.</p>
<p><em><strong>Actualización  2007-12-16</strong></em><br />
Gracias a Mauro me doy cuenta de algo que se me pasó. Symfoclipse tiene como licencia <strong>"free for non-commercial users"</strong>, valiendo esta 20 euros si la usas para tus trabajos. Para más detalles puedes ver el primer comentario aquí puesto por el mismo Mauro o en el <a href="http://noy.cc/symfoclipse/license.html">apartado licencia</a> de la misma pagina de symfoclipse.</p>
<p><em><strong>Actualización 2007-12-16 (2) </strong></em><br />
Citando un comentario de "Alon Noy" en el mismo post de Mauro:<br />
"A Symfoclipse license for commercial use costs 20 Euro and can be purchased by paypal transfer to anoy[at]arti-shock[dot]com. Please mention your name and email address. The license is for version 1.0.0 - 1.xx.xx."</p>
<p>Muchas gracias Mauro <img src='http://blog.phpleo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>-<br />
<strong>Fuente:</strong> <a href="http://www.symfony-framework.com/2007/12/10/best-symfony-ide-eclipse-pdt-symfoclipse-clay/">Best Symfony IDE: Eclipse PDT + Symfoclipse + Clay</a><br />
<strong>Symfoclipse:</strong> <a href="http://noy.cc/symfoclipse">Página oficial del proyecto</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.phpleo.com/2007/12/14/symfoclipse-el-ide-para-symfony/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.phpleo.com/2007/12/14/symfoclipse-el-ide-para-symfony/</feedburner:origLink></item>
		<item>
		<title>Trabajando con dos bases de datos en un mismo proyecto Symfony</title>
		<link>http://feeds.feedburner.com/~r/phpleo-blog-symfony/~3/194097192/</link>
		<comments>http://blog.phpleo.com/2007/12/02/trabajando-con-dos-bases-de-datos-en-un-mismo-proyecto-symfony/#comments</comments>
		<pubDate>Sun, 02 Dec 2007 16:11:47 +0000</pubDate>
		<dc:creator>phpleo</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[postgres]]></category>

		<category><![CDATA[propel]]></category>

		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://blog.phpleo.com/2007/12/02/trabajando-con-dos-bases-de-datos-en-un-mismo-proyecto-symfony/</guid>
		<description><![CDATA[Revisando la lista de usuarios symfony en Google Groups, me encuentro con uno de mis favoritos y el cual tenía planeado postear entes de mi desaparición  , en la cual un usuario pregunta como usar dos bases de datos (mysql y postgres) al mismo tiempo. Y Boris Duin, un usuario bastante activo de esta [...]]]></description>
			<content:encoded><![CDATA[<p>Revisando la lista de usuarios symfony en Google Groups, me encuentro con uno de mis favoritos y el cual tenía planeado postear entes de mi desaparición <img src='http://blog.phpleo.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> , en la cual un usuario pregunta como usar dos bases de datos (mysql y postgres) al mismo tiempo. Y Boris Duin, un usuario bastante activo de esta comunidad nos da los tips para resolver esta pregunta median el uso de 2 conexiones en el archivo schema.yml:</p>
<div class="igBar"><span id="lcode-14"><a href="#" onclick="javascript:showPlainTxt('code-14'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-14">
<div class="code">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">dev:</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">propel:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">class:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sfPropelDatabase</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">param:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">dsn:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mysql:<span style="color:#FF9933; font-style:italic;">//usuario1:password@miservidor1/bdd1</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">miconexion:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">class:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sfPropelDatabase</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">param:</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">dsn:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pgsql:<span style="color:#FF9933; font-style:italic;">//mysql://usuario2:password@miservidor2/bdd2 </span></div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Visto en: <a href="http://groups.google.com/group/symfony-es/browse_thread/thread/6830ff24cb562cda">Dos bases de datos en un mismo proyecto</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.phpleo.com/2007/12/02/trabajando-con-dos-bases-de-datos-en-un-mismo-proyecto-symfony/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.phpleo.com/2007/12/02/trabajando-con-dos-bases-de-datos-en-un-mismo-proyecto-symfony/</feedburner:origLink></item>
		<item>
		<title>Yahoo busca programador en PHP, ¿y symfony?</title>
		<link>http://feeds.feedburner.com/~r/phpleo-blog-symfony/~3/194097193/</link>
		<comments>http://blog.phpleo.com/2007/12/02/yahoo-busca-programador-en-php-y-symfony/#comments</comments>
		<pubDate>Sun, 02 Dec 2007 15:21:23 +0000</pubDate>
		<dc:creator>phpleo</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[empleo]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://blog.phpleo.com/2007/12/02/yahoo-busca-programador-en-php-y-symfony/</guid>
		<description><![CDATA[En un estado normal de cordura no tendría por que publicar ofertas de empleos de terceros, pero en vista de que en su anuncio no mencionan a symfony y viendo sus últimos movimientos con este framework, puede que resulte obvio que debas llegar conociendo sobre symfony...
Visto en: PHP Developer: Yahoo! Inc
]]></description>
			<content:encoded><![CDATA[<p>En un estado normal de cordura no tendría por que publicar ofertas de empleos de terceros, pero en vista de que en su anuncio no mencionan a symfony y viendo sus últimos movimientos con este framework, puede que resulte obvio que debas llegar conociendo sobre symfony...</p>
<p><strong>Visto en:</strong> <a href="http://hotjobs.yahoo.com/job-J4DVKU7TNT4;_ylt=AmCZISjtodXSs7wrVgT1SMz6Q6IX?search_url=%2Fjob-search-k-php%2520%2528php%2529%3Fsort%5Btype%5D%3Dsalary">PHP Developer: Yahoo! Inc</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.phpleo.com/2007/12/02/yahoo-busca-programador-en-php-y-symfony/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.phpleo.com/2007/12/02/yahoo-busca-programador-en-php-y-symfony/</feedburner:origLink></item>
		<item>
		<title>Symfony ya tiene 2 años con nosotros</title>
		<link>http://feeds.feedburner.com/~r/phpleo-blog-symfony/~3/172286385/</link>
		<comments>http://blog.phpleo.com/2007/10/18/symfony-ya-tiene-2-anos-con-nosotros/#comments</comments>
		<pubDate>Thu, 18 Oct 2007 15:41:39 +0000</pubDate>
		<dc:creator>phpleo</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://blog.phpleo.com/2007/10/18/symfony-ya-tiene-2-anos-con-nosotros/</guid>
		<description><![CDATA[La verdad no sabía de la edad de symfony y mucho menos la fecha de su aniversario, y quien mejor que el buen Javi para hacernos un recuento de lo que ha pasado todo este tiempo y lo que se viene  .


Fuente: Symfony cumple 2 años
]]></description>
			<content:encoded><![CDATA[<p>La verdad no sabía de la edad de symfony y mucho menos la fecha de su aniversario, y quien mejor que el buen <a href="http://www.symfony.es/">Javi</a> para hacernos un recuento de lo que ha pasado todo este tiempo y lo que se viene <img src='http://blog.phpleo.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> .</p>
<p><a href="http://blog.phpleo.com/wp-content/uploads/2007/10/sshot-2007-10-18-10-40-28.jpg"></a></p>
<p style="text-align: center"><a href="http://blog.phpleo.com/wp-content/uploads/2007/10/sshot-2007-10-18-10-40-28.jpg"><img src="http://blog.phpleo.com/wp-content/uploads/2007/10/sshot-2007-10-18-10-40-28.jpg" /></a></p>
<p>Fuente: <a href="http://www.symfony.es/2007/10/symfony-cumple-2-aos.html">Symfony cumple 2 años</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.phpleo.com/2007/10/18/symfony-ya-tiene-2-anos-con-nosotros/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.phpleo.com/2007/10/18/symfony-ya-tiene-2-anos-con-nosotros/</feedburner:origLink></item>
	</channel>
</rss>
