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

<channel>
	<title>Symfony.es &#187; propel</title>
	<atom:link href="http://www.symfony.es/categoria/propel/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.symfony.es</link>
	<description>Hablamos sobre Symfony, el mejor framework para desarrollar aplicaciones web con PHP</description>
	<lastBuildDate>Mon, 23 Jan 2012 12:07:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Resumen de la reunión de desarrolladores (15-12-2011)</title>
		<link>http://www.symfony.es/2011/12/30/resumen-de-la-reunion-de-desarrolladores-15-12-2011/</link>
		<comments>http://www.symfony.es/2011/12/30/resumen-de-la-reunion-de-desarrolladores-15-12-2011/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 12:23:44 +0000</pubDate>
		<dc:creator>Javier Eguiluz</dc:creator>
				<category><![CDATA[propel]]></category>
		<category><![CDATA[reunión]]></category>
		<category><![CDATA[seguridad]]></category>
		<category><![CDATA[symfony2]]></category>
		<category><![CDATA[twig]]></category>

		<guid isPermaLink="false">http://www.symfony.es/?p=1987</guid>
		<description><![CDATA[Con un poco de retraso publicamos el resumen de la última reunión del año 2011 del grupo de desarrolladores de Symfony: 1. ... <a href="http://www.symfony.es/2011/12/30/resumen-de-la-reunion-de-desarrolladores-15-12-2011/">seguir leyendo</a>]]></description>
			<content:encoded><![CDATA[<p>Con un poco de retraso publicamos el resumen de la última reunión del año 2011 del <a href="https://groups.google.com/forum/?hl=es#!forum/symfony-devs">grupo de desarrolladores de Symfony</a>:</p>
<p><strong>1. Permitir la carga asíncrona de contenidos en el cliente mediante la etiqueta {% render %} de Twig</strong> (<a href="https://github.com/symfony/symfony/pull/2865">ver PR #2865</a>) se ha propuesto mediante una <em>pull request</em> la posibilidad de añadir soporte para cargar <em>trozos de página</em> de forma asíncrona mediante JavaScript. Se decide que la idea es buena, pero la implementación no. El problema es que se está reinventando la rueda, ya que existe una tecnología buena y probada que hace esto muy bien: <a href="http://mnot.github.com/hinclude/">hinclude.js</a>. Se trata del equivalente de ESI para la parte del cliente. Se decide probar la integración de hinclude.js dentro del core de Symfony2. Si el resultado es bueno y no ensucia demasiado su código o las plantillas, se incorporará. <a href="https://github.com/symfony/symfony/pull/2903">Ver PR #2903</a> para conocer los detalles de la integración.</p>
<p><strong>2. Añadir los métodos Kernel::terminate() y HttpKernel::terminate() para ejecutar código después de enviar la respuesta al usuario</strong> (<a href="https://github.com/symfony/symfony/pull/2791">ver PR #2791</a>) la propuesta se acepta sin mucha discusión, ya que se considera algo realmente útil. No es algo que pueda sustituir a Gearman o RabbitMQ, pero puede venir muy bien en acciones puntuales con un procesamiento pesado o complejo y para la que no merece la pena o no se pueden instalar las herramientas anteriores.</p>
<p><strong>3. Renombrado el método equals() a isSameUser() en la interfaz UserInterface</strong> (<a href="https://github.com/symfony/symfony/pull/2669">ver PR #2669</a>) durante la reunión se volvió a discutir una vez más sobre el famoso método <code>equals()</code> de la interfaz UserInterface. El problema es que este nombre entra en conflicto con otras librerías (sobre todo con Propel) y según algunos no refleja realmente su propósito: este método no sólo comprueba que el usuario que te pasan sea el mismo, sino que también hay que comprobar si sigue siendo válido desde el punto de vista de la autenticación. Se proponen como alternativas:</p>
<ul>
<li><code>isSameUser()</code></li>
<li><code>equalsUser()</code></li>
<li><code>isSameAs()</code></li>
<li><code>isSameAsValidAutenticatedUser()</code></li>
<li><code>isStillConsideredAsValidForAuthentication()</code></li>
</ul>
<p>Antes de que a alguien se le ocurrieran métodos con nombres todavía más largos, se propone <strong>eliminar</strong> el método <code>equals()</code> de la interfaz. ¿Por qué tienen los programadores que comprobar si el usuario es el mismo y sigue siendo válido? Que lo haga Symfony2 automáticamente y si quiero hacer cosas avanzadas, ya crearé una clase o implementaré una interfaz especial. Ver <a href="https://github.com/symfony/symfony/pull/2927">PR #2927</a> para los detalles de la nueva implementación.</p>
<p>Como siempre, también puedes leer <a href="https://gist.github.com/1482008">los logs completos de la reunión</a> para conocer los detalles discutidos para cada punto del orden del día.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.symfony.es/2011/12/30/resumen-de-la-reunion-de-desarrolladores-15-12-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resumen de la reunión de desarrolladores (17-11-2011)</title>
		<link>http://www.symfony.es/2011/11/18/resumen-de-la-reunion-de-desarrolladores-17-11-2011/</link>
		<comments>http://www.symfony.es/2011/11/18/resumen-de-la-reunion-de-desarrolladores-17-11-2011/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 06:48:51 +0000</pubDate>
		<dc:creator>Javier Eguiluz</dc:creator>
				<category><![CDATA[doctrine]]></category>
		<category><![CDATA[propel]]></category>
		<category><![CDATA[reunión]]></category>
		<category><![CDATA[symfony2]]></category>

		<guid isPermaLink="false">http://www.symfony.es/?p=1879</guid>
		<description><![CDATA[Ayer se celebró una nueva reunión del grupo de desarrolladores de Symfony y estas son las decisiones que se tomaron: 1. Permitir que las ... <a href="http://www.symfony.es/2011/11/18/resumen-de-la-reunion-de-desarrolladores-17-11-2011/">seguir leyendo</a>]]></description>
			<content:encoded><![CDATA[<p>Ayer se celebró una nueva reunión del <a href="https://groups.google.com/forum/?hl=es#!forum/symfony-devs">grupo de desarrolladores de Symfony</a> y estas son las decisiones que se tomaron:</p>
<p><strong>1. Permitir que las configuraciones definidas con <em>TreeBuilder</em> puedan añadir mensajes de documentación</strong> (<a href="https://github.com/symfony/symfony/pull/1099">detalles</a>).</p>
<p>Si buscas en el código fuente de tu aplicación Symfony2, encontrarás decenas de archivos llamados <code>Configuration.php</code>. Estos archivos definen las opciones de configuración de diferentes servicios. Antes del lanzamiento de Symfony2 se decidió definir así la configuración porque en teoría serviría para generar automáticamente la documentación sobre las opciones de configuración de Symfony2.</p>
<p>Lo único que se consiguió es complicar la definición de los archivos de configuración a cambio de nada. Ahora se retoma la idea de definir un método llamado <code>setInfo()</code> que permita documentar cada una de las opciones incluidas. Cuando todos los archivos lo implementen, se podrá generar toda la documentación con un solo comando. Muy sencillo y siempre actualizado.</p>
<p>El cambio propuesto se acepta por unanimidad.</p>
<p><strong>2. Coordinar el traspaso del bundle de DoctrineBundle al proyecto Doctrine</strong></p>
<p>En la<a href="http://www.symfony.es/2011/11/04/resumen-de-la-reunion-de-desarrolladores-3-11-2011/"> anterior reunión</a> se decidió que tanto Doctrine como Propel deberían desarrollar y mantener sus bundles. Este cambio no será retrocompatible porque la ruta de muchas clases va a cambiar. Benjamin Eberlei se ofrece a empezar mañana mismo con la transición.</p>
<p><strong>3. Cambiar el nombre del método equals() de UserInterface</strong></p>
<p>Los responsables de Propel piden cambiar el nombre porque les causa problemas de compatibilidad con sus interfaces. Se decide cambiar el nombre del método no para complacer a Propel, sino porque a casi nadie le gusta ese nombre. Se opta por cambiarlo a <code>isSameUser()</code>.</p>
<p><strong>4. Mejorar los mensajes flash </strong>(<a href="https://github.com/symfony/symfony/pull/2592">detalles</a>)</p>
<p><strong></strong>En la <a href="http://www.symfony.es/2011/11/04/resumen-de-la-reunion-de-desarrolladores-3-11-2011/">anterior reunión</a> también se habló de este tema y se decidió que no se iba a cambiar nada. Así que esta semana han vuelto a hablar de lo mismo. Actualmente cada mensaje flash se define con una clave y un mensaje. La clave, que debe ser única en la misma petición, se puede elegir libremente. Aún así, la mayoría utilizan valores como &#8220;info&#8221;, &#8220;error&#8221;, &#8220;warning&#8221;, etc.</p>
<p>El problema es que si en una misma petición se generan por ejemplo varios mensajes flash de tipo &#8220;info&#8221;, en vez de mostrarlos todos, sólo se muestra el último, ya que como todos utilizan la misma clave, se <em>machacan</em> unos a otros. Se propone eliminar la clave y utilizar en su lugar categorías. Así se pueden definir y mostrar varios mensajes diferentes en una misma categoría.</p>
<p>Antes de que se tomara una decisión, varios programadores empiezan a discutir sobre si es mejor o no crear un FlashBag() y sobre si la nueva funcionalidad debe incluirse en el componente HttpFoundation, Session o FrameworkBundle. Fabien y otros programadores importantes abandonan la reunión antes de que se tome una decisión.</p>
<p><strong>Otros</strong></p>
<ul>
<li>Fabien vuelve a decir que no cree que la próxima versión 2.1 sea la de soporte largo durante 5 años.</li>
<li>Fabien también asegura que no hay ninguna fecha prevista de lanzamiento de 2.1, pero que podría ser antes de final de año.</li>
<li>Lukas Smith también quería hablar sobre integración continua, pero como no da tiempo a discutirlo, lo deja para la lista de correo. <a href="https://groups.google.com/forum/#!topic/symfony-devs/cjlktnXGmN0">Leer mensaje sobre Integración Continua con Symfony2</a>.</li>
</ul>
<p>Como siempre, también puedes leer <a href="https://gist.github.com/1373802">los logs completos de la reunión</a> para conocer los detalles discutidos para cada punto del orden del día.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.symfony.es/2011/11/18/resumen-de-la-reunion-de-desarrolladores-17-11-2011/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Resumen de la reunión de desarrolladores (3-11-2011)</title>
		<link>http://www.symfony.es/2011/11/04/resumen-de-la-reunion-de-desarrolladores-3-11-2011/</link>
		<comments>http://www.symfony.es/2011/11/04/resumen-de-la-reunion-de-desarrolladores-3-11-2011/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 07:36:45 +0000</pubDate>
		<dc:creator>Javier Eguiluz</dc:creator>
				<category><![CDATA[doctrine]]></category>
		<category><![CDATA[propel]]></category>
		<category><![CDATA[reunión]]></category>
		<category><![CDATA[symfony2]]></category>

		<guid isPermaLink="false">http://www.symfony.es/?p=1861</guid>
		<description><![CDATA[Ayer se celebró una nueva reunión del grupo de desarrolladores de Symfony y estas son las decisiones que se tomaron: Mejorar los mensajes flash ... <a href="http://www.symfony.es/2011/11/04/resumen-de-la-reunion-de-desarrolladores-3-11-2011/">seguir leyendo</a>]]></description>
			<content:encoded><![CDATA[<p>Ayer se celebró una nueva reunión del <a href="https://groups.google.com/forum/?hl=es#!forum/symfony-devs">grupo de desarrolladores de Symfony</a> y estas son las decisiones que se tomaron:</p>
<ul>
<li><strong>Mejorar los mensajes flash</strong> (<a href="https://github.com/symfony/symfony/pull/2543">detalles</a>): algún desarrollador propone extender los mensajes flash para que incluyan un parámetro que permita indicar la categoría a la que pertenecen (error, información, etc.) Fabien defiende con vehemencia que eso es innecesario,  que el primer parámetro del método <code>setFlash()</code> se puede usar como categoría y que los mensajes flash son sólo para mostrar un mensaje en la próxima petición. Lukas Smith sugiere que <em>&#8220;como ahora mismo los mensajes flash no sirven para mucho, mejor eliminarlos&#8221;</em>. Después de este <em>brillante</em> comentario, se da por zanjada la discusión y se decide dejar los mensajes flash como están.</li>
<li><strong>Cómo hacer el soporte de ORM en Symfony 2.1</strong> (<a href="https://github.com/symfony/symfony/pull/2191">detalles</a>): se está preparando el terreno para que los proyectos Symfony2 puedan utilizar indistintamente Propel 2 o Doctrine2. Se decide que los <em>bundles</em> de cada ORM salgan del repositorio de código principal de Symfony2. Así que en los próximos días se eliminará el <em>bundle</em> de Doctrine. Cada organización (Propel y Doctrine) se encargará de desarrollar y mantener su propio bundle. Symfony2 se encargará de mantener los <em>bridges</em>, que sólo contienen el código que unen estos <em>bundles</em> con el resto de <em>bundles</em> y con Symfony2. También se apunta la posibilidad de crear una distribución de Symfony2 para Propel y otra para Doctrine.</li>
<li><strong>Extender la sección providers del archivo de configuración de seguridad</strong> (<a href="https://github.com/symfony/symfony/pull/2454">detalles</a>): se decide seguir adelante con los cambios y mejoras propuestas en ese <em>pull request, </em>aunque esto supone que habrá que modificar la configuración de seguridad al actualizar a Symfony 2.1. Fabien dice que no importa porque el componente de seguridad está marcado como <em>no estable</em>.</li>
<li><strong>Cómo hacer que más gente utilice los componentes de Symfony2</strong>: Fabien dice que ya tiene pensada la nueva documentación que se va a escribir para cada componente. Todavía no ha empezado a escribirla, pero estima que podría estar lista para final de año. Algunos desarrolladores le sugieren que mientras tanto cree por lo menos un buen archivo README para cada componente con enlaces útiles. Fabien dice que mejor esperar a la documentación.</li>
</ul>
<p>Además, durante la reunión Fabien dijo que no estaba completamente seguro de marcar la versión 2.1 de Symfony2 como versión LTS (cinco años de soporte garantizado). Quizás haya que esperar entonces a Symfony 2.2.</p>
<p>Como siempre, también puedes leer <a href="https://gist.github.com/1337068">los logs completos de la reunión</a> para conocer los detalles discutidos para cada punto del orden del día.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.symfony.es/2011/11/04/resumen-de-la-reunion-de-desarrolladores-3-11-2011/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Se publica Symfony 1.4.15</title>
		<link>http://www.symfony.es/2011/10/30/se-publica-symfony-1-4-15/</link>
		<comments>http://www.symfony.es/2011/10/30/se-publica-symfony-1-4-15/#comments</comments>
		<pubDate>Sun, 30 Oct 2011 12:20:17 +0000</pubDate>
		<dc:creator>Javier Eguiluz</dc:creator>
				<category><![CDATA[propel]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://www.symfony.es/?p=1851</guid>
		<description><![CDATA[La versión 1.4.x de Symfony es la base de miles de aplicaciones web en todo el mundo, por eso los creadores de ... <a href="http://www.symfony.es/2011/10/30/se-publica-symfony-1-4-15/">seguir leyendo</a>]]></description>
			<content:encoded><![CDATA[<p>La versión 1.4.x de Symfony es la base de miles de aplicaciones web en todo el mundo, por eso los creadores de Symfony no la descuidan ni siquiera ahora que están completamente centrados en Symfony2.</p>
<p>Según <a href="http://trac.symfony-project.org/browser/tags/RELEASE_1_4_15/CHANGELOG">su <em>changelog</em></a>, la nueva versión 1.4.15 corrige siete errores, siendo el más importante el error que impedía a las tareas relacionadas con Propel tener en cuenta si la aplicación tenía configuradas varias conexiones con bases de datos.</p>
<p>Como siempre, para actualizar tu versión de Symfony:</p>
<ul>
<li>Si usas el <em>sandbox</em>, te lo tienes que bajar otra vez.</li>
<li>Si lo has instalado mediante el archivo comprimido de Symfony, te lo tienes que bajar otra vez desde <a href="http://www.symfony-project.org/installation/1_4">www.symfony-project.org/installation/1_4</a> y debes descomprimirlo en el mismo directorio dentro de tu proyecto.</li>
<li>Si lo has instalado mediante PEAR, ejecuta el comando  <code>pear upgrade symfony/symfony-1.4.15</code></li>
<li>Si lo instalas mediante Subversion, ejecuta el comando  <code>svn checkout http://svn.symfony-project.com/tags/RELEASE_1_4_15/</code></li>
</ul>
<p>Independientemente de cómo lo actualices, no olvides borrar la caché de cada proyecto después de la actualización mediante los siguientes comandos:</p>
<p>Si utilizas Doctrine:</p>
<pre>$ php symfony doctrine:build --all-classes
$ php symfony cache:clear</pre>
<p>Si utilizas Propel:</p>
<pre>$ php symfony propel:build --all-classes
$ php symfony cache:clear</pre>
<p>Fuente: <a href="http://symfony.com/blog/symfony-1-4-15-released">symfony 1.4.15 released</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.symfony.es/2011/10/30/se-publica-symfony-1-4-15/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Se anuncian grandes novedades para la próxima versión de Propel</title>
		<link>http://www.symfony.es/2011/10/06/se-anuncian-grandes-novedades-para-la-proxima-version-de-propel/</link>
		<comments>http://www.symfony.es/2011/10/06/se-anuncian-grandes-novedades-para-la-proxima-version-de-propel/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 11:58:38 +0000</pubDate>
		<dc:creator>Javier Eguiluz</dc:creator>
				<category><![CDATA[doctrine]]></category>
		<category><![CDATA[propel]]></category>
		<category><![CDATA[symfony2]]></category>

		<guid isPermaLink="false">http://www.symfony.es/?p=1821</guid>
		<description><![CDATA[Propel, el ORM favorito de gran parte de la comunidad Symfony, renace de sus cenizas y anuncia una próxima versión Propel2 muy ... <a href="http://www.symfony.es/2011/10/06/se-anuncian-grandes-novedades-para-la-proxima-version-de-propel/">seguir leyendo</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://propel.posterous.com/">Propel</a>, el ORM favorito de gran parte de la comunidad Symfony, renace de sus cenizas y anuncia una próxima versión Propel2 muy potente. Aunque hace unos meses se anunció que esta nueva versión se basaría en Doctrine2, ahora todo vuelve a cambiar y Propel2 se basará definitivamente en Propel 1.6.x.</p>
<p><strong>Los principales cambios</strong> ya anunciados son los siguientes:</p>
<ul>
<li>Sólo será compatible con PHP 5.3.</li>
<li>Todo el código incluirá <em>namespaces </em>que seguirán el formato del <a href="https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md">estándar PSR-0</a> (el mismo de Symfony2)</li>
<li>Será necesario hacer uso de un <em>autoloader</em> y la mayoría apuestan por usar el componente ClassLoader de Symfony2</li>
<li>Se van a añadir nuevas excepciones propias (Propel sólo tiene dos por el momento).</li>
<li>Se elimina (¡por fin!) el uso de Phing para los comandos de consola y se sustituye por el componente Console de Symfony2.</li>
<li>Ya no se generarán clases de tipo Peer para cada clase del modelo.</li>
<li>Se incluirá un nuevo sistema de logs seguramente basado en el componente Monolog de Symfony2.</li>
<li>Se utilizará Twig para generar el código <del>de las plantillas</del> PHP de las clases del modelo.</li>
<li>No se incluirá soporte para NoSQL.</li>
</ul>
<div>Todos estos anuncios y muchos más los puedes leer en <a href="https://raw.github.com/gist/1266792/f16f335ae4670ae3757d9af53452b649dcd65950/Propel%20IRC%20Meeting">los logs de la reunión</a> que se celebró a través del IRC para decidir el futuro de Propel.</div>
<div>Fuente: <a href="http://propel.posterous.com/propel2-has-begun">Propel2 has begun!</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.symfony.es/2011/10/06/se-anuncian-grandes-novedades-para-la-proxima-version-de-propel/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Se publica la versión estable de Propel 1.6</title>
		<link>http://www.symfony.es/2011/05/13/se-publica-la-version-estable-de-propel-1-6/</link>
		<comments>http://www.symfony.es/2011/05/13/se-publica-la-version-estable-de-propel-1-6/#comments</comments>
		<pubDate>Fri, 13 May 2011 08:25:50 +0000</pubDate>
		<dc:creator>Javier Eguiluz</dc:creator>
				<category><![CDATA[propel]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[symfony2]]></category>

		<guid isPermaLink="false">http://www.symfony.es/?p=1631</guid>
		<description><![CDATA[Propel es el ORM favorito de una gran parte de la comunidad de programadores Symfony. Hace unos años era el mejor ORM ... <a href="http://www.symfony.es/2011/05/13/se-publica-la-version-estable-de-propel-1-6/">seguir leyendo</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.propelorm.org/">Propel</a> es el ORM favorito de una gran parte de la comunidad de programadores Symfony. Hace unos años era el mejor ORM y el más utilizado. Tras un largo período de inactividad, <a href="http://www.doctrine-project.org/">Doctrine</a> se convirtió en el ORM más popular y ahora Propel intenta recuperar lo perdido.</p>
<p>Para ello se acaba de publicar la versión estable de Propel 1.6, la última que se publicará de la rama 1.X. A pesar de que la <a href="http://www.propelorm.org/wiki/Documentation/1.6/WhatsNew">lista de novedades de Propel 1.6</a> es casi inacabable, esta nueva versión es completamente retrocompatible con las versiones 1.4 y 1.5.</p>
<p>Las principales novedades de Propel 1.6 son las siguientes:</p>
<ul>
<li><a href="http://www.propelorm.org/wiki/Documentation/1.6/Migrations">Migraciones</a>. Si añades o eliminas tablas y columnas en tu base de datos, Propel se encargará de hacer los cambios necesarios para que la aplicación siga funcionando bien y sin perder información.</li>
<li>Nuevos comportamientos. Doctrine2 ha eliminado todos los comportamientos, pero Propel cada vez tiene más. Los últimos son <a href="http://www.propelorm.org/wiki/Documentation/1.6/Behaviors/versionable">Versionable</a> (que permite guardar una versión para cada cambio en un objeto) y <a href="http://www.propelorm.org/wiki/Documentation/1.6/Behaviors/i18n">i18n</a> (para hacer aplicaciones multi-idioma sin depender de lo que ofrezca cada framework).</li>
<li><a href="http://www.propelorm.org/wiki/Documentation/1.6/ActiveRecord#ImportandExportCapabilities">Importación y exportación</a> de información en los formatos XML, YAML, JSON y CSV.</li>
<li><a href="http://www.propelorm.org/wiki/Documentation/1.6/Advanced-Column-Types">Tipos de columna avanzados</a>. Se han añadido los tipos <em>enum</em>, <em>array</em> y <em>object</em>.</li>
</ul>
<p>Puedes ver otras novedades destacadas en <a href="http://propel.posterous.com/propel-16-is-released">el post del blog oficial de Propel</a> y en la extensa <a href="http://www.propelorm.org/wiki/Documentation/1.6">documentación oficial de Propel 1.6</a>.</p>
<p>Si programas aplicaciones con symfony 1.4, ya puedes utilizar Propel 1.6 mediante el plugin <a href="https://github.com/fzaninotto/sfPropel15Plugin">sfPropel15Plugin</a> (que no te confunda el nombre, porque este el plugin bueno para utilizar Propel 1.6). Si programas con Symfony2, debes utilizar el bundle <a href="https://github.com/willdurand/PropelBundle">PropelBundle</a>.</p>
<p>Por otra parte, el desarrollo de Propel 2 ya ha comenzado y puedes seguir su evolución mediante su repositorio oficial en github: <a href="https://github.com/fzaninotto/Propel2">https://github.com/fzaninotto/Propel2</a></p>
<p>Fuente: <a href="http://propel.posterous.com/propel-16-is-released">Propel 1.6 is Released</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.symfony.es/2011/05/13/se-publica-la-version-estable-de-propel-1-6/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Propel 1.6 publica su primera beta</title>
		<link>http://www.symfony.es/2011/01/20/propel-1-6-publica-su-primera-beta/</link>
		<comments>http://www.symfony.es/2011/01/20/propel-1-6-publica-su-primera-beta/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 11:52:37 +0000</pubDate>
		<dc:creator>Javier Eguiluz</dc:creator>
				<category><![CDATA[propel]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://www.symfony.es/?p=1390</guid>
		<description><![CDATA[Propel, el ORM favorito de muchos symfoneros, acaba de publicar la primera beta de su próxima versión 1.6. Después de varios meses ... <a href="http://www.symfony.es/2011/01/20/propel-1-6-publica-su-primera-beta/">seguir leyendo</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.propelorm.org/">Propel</a>, el ORM favorito de muchos <em>symfoneros</em>, acaba de publicar la primera beta de su próxima versión 1.6. Después de varios meses de desarrollo, la lista de novedades que incorpora es impresionante:</p>
<ul>
<li><a href="http://www.propelorm.org/wiki/Documentation/1.6/Migrations">Migraciones</a>, algo que ya tenía <a href="http://www.doctrine-project.org/">Doctrine</a> desde hace mucho tiempo y se echaba en falta en Propel</li>
<li>Nuevos <em>behaviors</em> o comportamientos (<a href="http://www.propelorm.org/wiki/Documentation/1.6/Behaviors/versionable">versionable</a>, realmente espectacular e <a href="http://www.propelorm.org/wiki/Documentation/1.6/Behaviors/i18n">I18n</a> para internacionalización). Curiosamente, la nueva versión 2.0 de Doctrine ha eliminado todos los <em>behaviors</em></li>
<li>Importación y volcado de información a <a href="http://www.propelorm.org/wiki/Documentation/1.6/WhatsNew#XMLYAMLJSONCSVParsingandDumping">XML/YAML/JSON/CSV</a></li>
<li><a href="http://www.propelorm.org/wiki/Documentation/1.6/Using-SQL-Schemas">Soporte de esquemas/namespaces de SQL</a> (sólo para MySQL, PostgreSQL y Microsoft SQL Server)</li>
<li>Nuevos tipos de columna avanzados <a href="http://www.propelorm.org/wiki/Documentation/1.6/Advanced-Column-Types">ENUM, OBJECT y ARRAY</a></li>
</ul>
<p>Como siempre que se trata de Propel, la calidad del trabajo realizado es altísima: todas las nuevas características son retrocompatibles, incluyen tests unitarios y están completamente documentadas.</p>
<p>Para utilizar Propel 1.6 en tus aplicaciones Symfony, debes hacer uso del plugin sfPropel15Plugin. Puedes leer la <a href="https://github.com/fzaninotto/sfPropel15Plugin/blob/1.6/INSTALL.md">guía de instalación de sfPropel15Plugin</a> en el propio repositorio de Propel.</p>
<p>Fuente: <a href="http://propel.posterous.com/get-ready-for-propel-16-the-beta-1-is-release">Get Ready For Propel 1.6: The Beta 1 Is Released.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.symfony.es/2011/01/20/propel-1-6-publica-su-primera-beta/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Propel 2 utilizará Doctrine 2</title>
		<link>http://www.symfony.es/2010/09/17/propel-2-utilizara-doctrine-2/</link>
		<comments>http://www.symfony.es/2010/09/17/propel-2-utilizara-doctrine-2/#comments</comments>
		<pubDate>Fri, 17 Sep 2010 18:03:29 +0000</pubDate>
		<dc:creator>Javier Eguiluz</dc:creator>
				<category><![CDATA[doctrine]]></category>
		<category><![CDATA[propel]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://www.symfony.es/?p=1313</guid>
		<description><![CDATA[La semana pasada se celebró una reunión online a través del IRC para decidir el futuro de Propel 2.0. François Zaninotto, el ... <a href="http://www.symfony.es/2010/09/17/propel-2-utilizara-doctrine-2/">seguir leyendo</a>]]></description>
			<content:encoded><![CDATA[<p>La semana pasada se celebró una reunión online a través del IRC para decidir el futuro de Propel 2.0. François Zaninotto, el actual responsable de Propel, ya había anunciado previamente que el no tenía tiempo para liderar el desarrollo de Propel 2.0. Muchos temieron entonces que la reunión sólo serviría para anunciar el fin de Propel.</p>
<p>Nada más lejos de la realidad: Propel seguirá vivo y dando que hablar en el mundo de los ORM por mucho tiempo. Para sorpresa de todos, en la reunión se anunció que <strong>Propel 2 será una capa por encima de Doctrine 2</strong>.</p>
<p>Como ya sabes, Doctrine 2 está formado por dos partes:</p>
<ul>
<li>DBAL: una capa que abstrae todas las operaciones de bajo nivel sobre las bases de datos. Esta capa es la encargada de convertir las operaciones sobre datos en sentencias SQL especialmente adaptadas a la base de datos utilizada.</li>
<li>ORM: esta capa es la que permite manipular la información de la base de datos mediante objetos. Esta parte de Doctrine es la más conocida y utilizada por los programadores. En Symfony esta parte es la que tiene relación con el esquema, las entidades, las consultas y el lenguaje DQL.</li>
</ul>
<p>Propel 2 utilizará toda la capa DBAL y partes de la capa ORM de Doctrine 2 para su funcionamiento interno. Externamente Propel continuará utilizando el <a href="http://es.wikipedia.org/wiki/Patr%C3%B3n_ActiveRecord">patrón ActiveRecord</a>, lo que significa que va a ser muy parecido a Propel 1 y por tanto, muy diferente a Doctrine. Simplificándolo mucho, <em>Propel 2 será Doctrine por dentro y Propel 1 por fuera</em>.</p>
<p>Por otra parte, Propel 2 requerirá PHP 5.3, será compatible con Propel 1 en todo lo posible, su código se pasa a Github y el gran François Zaninotto ha decidido finalmente liderar el proyecto. Si quieres conocer todos los detalles, puedes leer el <a href="http://propel.posterous.com/propel2-will-be-an-activerecord-implementatio">log de toda la reunión del IRC</a> y también puedes seguir a <a href="http://github.com/fzaninotto">François Zaninotto en Github</a> para enterarte de todo el código nuevo que se publique.</p>
<p>Fuente: <a href="http://propel.posterous.com/propel2-will-be-an-activerecord-implementatio">Propel2 Will Be an ActiveRecord Implementation Based On Doctrine2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.symfony.es/2010/09/17/propel-2-utilizara-doctrine-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Presentaciones de la conferencia &#8220;State of Symfony2&#8243;</title>
		<link>http://www.symfony.es/2010/06/23/presentaciones-de-la-conferencia-state-of-symfony-2/</link>
		<comments>http://www.symfony.es/2010/06/23/presentaciones-de-la-conferencia-state-of-symfony-2/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 19:53:48 +0000</pubDate>
		<dc:creator>Javier Eguiluz</dc:creator>
				<category><![CDATA[conferencia]]></category>
		<category><![CDATA[doctrine]]></category>
		<category><![CDATA[propel]]></category>
		<category><![CDATA[symfony2]]></category>

		<guid isPermaLink="false">http://www.symfony.es/?p=1147</guid>
		<description><![CDATA[Acaba de concluir la repetición de la conferencia online &#8220;State of Symfony2&#8243; y ya se empiezan a publicar las presentaciones para todos ... <a href="http://www.symfony.es/2010/06/23/presentaciones-de-la-conferencia-state-of-symfony-2/">seguir leyendo</a>]]></description>
			<content:encoded><![CDATA[<p>Acaba de concluir la repetición de la conferencia online <em>&#8220;State of Symfony2&#8243;</em> y ya se empiezan a publicar las presentaciones para todos los que no han podido asistir. </p>
<div style="width:425px" id="__ss_4599933"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/fabpot/news-of-the-symfony2-world" title="News of the Symfony2 World">News of the Symfony2 World</a></strong><object id="__sse4599933" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=news-100624020131-phpapp01&#038;stripped_title=news-of-the-symfony2-world" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse4599933" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=news-100624020131-phpapp01&#038;stripped_title=news-of-the-symfony2-world" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/fabpot">Fabien Potencier</a>.</div>
</div>
<div id="__ss_4591586" style="width: 425px;"><strong><a title="Symfony2 meets propel 1.5" href="http://www.slideshare.net/francoisz/symfony2-meets-propel-15-4">Symfony2 meets propel 1.5</a></strong><object id="__sse4591586" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=symfony2meetspropel1-100623153033-phpapp02&amp;stripped_title=symfony2-meets-propel-15-4" /><param name="name" value="__sse4591586" /><param name="allowfullscreen" value="true" /><embed id="__sse4591586" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=symfony2meetspropel1-100623153033-phpapp02&amp;stripped_title=symfony2-meets-propel-15-4" name="__sse4591586" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/francoisz">Francois Zaninotto</a>.</div>
</div>
<div style="width:425px" id="__ss_4595260"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/jwage/symfony2-and-doctrine2-integration" title="Symfony2 and Doctrine2 Integration">Symfony2 and Doctrine2 Integration</a></strong><object id="__sse4595260" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=symfony2anddoctrine-100623202058-phpapp01&#038;stripped_title=symfony2-and-doctrine2-integration" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse4595260" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=symfony2anddoctrine-100623202058-phpapp01&#038;stripped_title=symfony2-and-doctrine2-integration" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/jwage">Jonathan Wage</a>.</div>
</div>
<div style="width:425px" id="__ss_4593800"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/bschussek/the-new-form-framework" title="The new form framework">The new form framework</a></strong><object id="__sse4593800" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=stateofsymfony2-forms-presentation-100623183822-phpapp02&#038;stripped_title=the-new-form-framework" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse4593800" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=stateofsymfony2-forms-presentation-100623183822-phpapp02&#038;stripped_title=the-new-form-framework" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/bschussek">bschussek</a>.</div>
</div>
<div style="width:425px" id="__ss_4599947"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/fabpot/unit-and-functional-testing-with-symfony2" title="Unit and Functional Testing with Symfony2">Unit and Functional Testing with Symfony2</a></strong><object id="__sse4599947" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=testing-100624020238-phpapp01&#038;stripped_title=unit-and-functional-testing-with-symfony2" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse4599947" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=testing-100624020238-phpapp01&#038;stripped_title=unit-and-functional-testing-with-symfony2" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/fabpot">Fabien Potencier</a>.</div>
</div>
<div style="width:425px" id="__ss_4599971"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/fabpot/caching-on-the-edge-with-symfony2" title="Caching on the Edge with Symfony2">Caching on the Edge with Symfony2</a></strong><object id="__sse4599971" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cache-100624020432-phpapp02&#038;stripped_title=caching-on-the-edge-with-symfony2" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse4599971" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cache-100624020432-phpapp02&#038;stripped_title=caching-on-the-edge-with-symfony2" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/fabpot">Fabien Potencier</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.symfony.es/2010/06/23/presentaciones-de-la-conferencia-state-of-symfony-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Resumen de la conferencia &#8220;State of Symfony2&#8243;</title>
		<link>http://www.symfony.es/2010/06/22/resumen-de-la-conferencia-state-of-symfony-2/</link>
		<comments>http://www.symfony.es/2010/06/22/resumen-de-la-conferencia-state-of-symfony-2/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 12:38:15 +0000</pubDate>
		<dc:creator>Javier Eguiluz</dc:creator>
				<category><![CDATA[conferencia]]></category>
		<category><![CDATA[doctrine]]></category>
		<category><![CDATA[propel]]></category>
		<category><![CDATA[symfony2]]></category>

		<guid isPermaLink="false">http://www.symfony.es/?p=1141</guid>
		<description><![CDATA[Hace unos minutos ha concluido la primera conferencia online sobre Symfony2. Todas las sesiones han tenido un nivel muy notable y a ... <a href="http://www.symfony.es/2010/06/22/resumen-de-la-conferencia-state-of-symfony-2/">seguir leyendo</a>]]></description>
			<content:encoded><![CDATA[<p>Hace unos minutos ha concluido la primera <a href="http://www.symfony-project.org/blog/2010/05/31/the-state-of-symfony-2-online-conference">conferencia online sobre Symfony2</a>. Todas las sesiones han tenido un nivel muy notable y a continuación os mostramos lo más destacado de cada una de ellas:</p>
<ul>
<li><em><strong>News of the Symfony2 world (Fabien Potencier)</strong></em>:
<ul>
<li>Ha sido la sesión más floja, ya que simplemente ha recapitulado las últimas noticias relacionadas con Symfony2.</li>
<li>Se ha centrado especialmente en los componentes más recientes (CssSelector, DomCrawler, Browser, Finder).</li>
</ul>
</li>
<li><em><strong>Symfony2 meets Propel 1.5 (François Zaninotto)</strong></em>:
<ul>
<li>En primer lugar se han mostrado las últimas novedades de Propel 1.5. François ha aprovechado para darle un buen repaso a Doctrine y ha demostrado que Propel, lejos de estar muerto, está más vivo que nunca.</li>
<li>François recalca que las mejores características de Propel son las <em>Model Queries</em>, la <em>Concrete Table Inheritance</em> y el <em>aggregate_column behavior</em>.</li>
<li>Respecto a la integración de Propel con Symfony2, va por buen camino pero faltan todavía muchas cosas por hacer: definir esquemas en YAML, integración con la barra de depuración web, integración con los formularios y con el <em>admin generator</em>.</li>
<li>Principales razones para utilizar Propel en vez de Doctrine 2: es rápido, sigue el patrón <em>ActiveRecord</em> y ya está disponible de forma estable.</li>
</ul>
</li>
<li><em><strong>Symfony and Doctrine (Jonathan Wage)</strong></em>:
<ul>
<li>Jonathan apenas ha mencionado a Propel, salvo para decir que la filosofía de Doctrine es completamente diferente al <em>ActiveRecord</em> y que eso está bien porque en su opinión <em>&#8220;ActiveRecord is flawed&#8221;</em>.</li>
<li>La parte del ORM ya no tiene código <em>mágico</em>, todo es explícito.</li>
<li>Se ha presentado el <em>bundle</em> de Doctrine para MongoDB y la gran similitud entre el ODM y el ORM. Esto facilitará la transición del SQL a filosofías NoSQL.</li>
<li>La otra gran novedad de Doctrine 2 será la completa renovación de las migraciones (totalmente integradas en Symfony mediante el <em>DoctrineMigrationsBundle</em>).</li>
</ul>
</li>
<li><em><strong>Unit &amp; Functional Tets (Fabien Potencier)</strong></em>:
<ul>
<li>Fabien cree que utilizar herramientas estándar es lo correcto, por lo que Symfony utilizará a partir de ahora PHPUnit</li>
<li>A continuación ha hablado de buenas prácticas para las pruebas y ha concluido con las pruebas funcionales.</li>
<li>Symfony2 podrá lanzar pruebas en paralelo gracias al componente que permite crear <em>forked PHP processes</em>.</li>
<li>A Fabien le han vuelto a preguntar por <a href="http://ci.symfony-project.org/">Sismo</a>, el servidor de integración continua que utiliza Symfony y que ha creado el propio Fabien. Harto de que la gente no sea capaz de entender la frase <em>&#8220;no hay fecha prevista para publicar Sismo como software libre&#8221;</em>, Fabien ha dicho que <em>&#8220;deberíamos hacer como si Sismo no existiera&#8221;</em>.</li>
</ul>
</li>
<li><em><strong>The new form framework (Bernhard Schussek)</strong></em>:
<ul>
<li>El componente de los formularios ha sido completamente rediseñado para que sea simple y fácilmente reutilizable.</li>
<li>Nuevos widgets (que ahora parece que se llaman <em>fields</em>): BirthdayField, PercentField, NumberField, IntegerField. Widgets especiales: RepeatedField, CollectionField, FieldGroup.</li>
<li>Personalmente el nuevo componente de formularios no me parece mucho más sencillo que el que existe actualmente.</li>
</ul>
</li>
<li><em><strong>Caching on the edge (Fabien Potencier)</strong></em>:
<ul>
<li>La conferencia ha concluido con<strong> la presentación de la verdadera </strong><em><strong>killer feature</strong></em><strong> de Symfony 2</strong>: un sistema de caché parecido a <a href="http://varnish-cache.org/">Varnish</a> pero desarrollado con PHP.</li>
<li>En pocas palabras: Symfony2 incluye un sistema de cache que puede almacenar páginas enteras, de forma que tus aplicaciones tengan un rendimiento estratosférico.</li>
<li>Si utilizaste el <a href="http://www.symfony-project.org/plugins/sfSuperCachePlugin">plugin sfSuperCachePlugin</a> en Symfony 1.X, esta nueva cache es como una versión infinitamente mejorada de ese plugin.</li>
<li>En aplicaciones sencillas, con 10 usuarios concurrentes Symfony2 es 5 veces más rápido que Symfony 1; con 100 usuarios concurrentes, Symfony2 es 11 veces más rápido que Symfony 1.</li>
<li>En aplicaciones complejas, con 10 usuarios concurrentes Symfony2 es 8 veces más rápido que Symfony 1; con 100 usuarios concurrentes, Symfony2 es 85 veces más rápido que Symfony 1.</li>
<li>Symfony2 ha sido diseñado desde el primer día para hacer uso de esta característica. Toda su arquitectura interna se ha diseñado para hacer posible esta super cache.</li>
<li>La clave es que Symfony2 incluye un acelerador HTTP programado en PHP. Se encarga de la expiración y validación de la caché HTTP.</li>
<li>Symfony2 soporta el uso de ESI o <em><a href="http://en.wikipedia.org/wiki/Edge_Side_Includes">Edge Side Includes</a><span style="font-style: normal;"> y otras muchas ideas y tecnologías definidas en el <a href="http://datatracker.ietf.org/wg/httpbis/">estándar HTTP Bis</a>.</span></em></li>
</ul>
</li>
</ul>
<p>Otros anuncios importantes de la conferencia han sido los siguientes:</p>
<ul>
<li>Van a intentar desarrollar una herramienta para actualizar las aplicaciones symfony 1.X a Symfony2. Todavía están pensando en cómo hacerlo (incluso se habla de una capa de emulación de Symfony 1.X ejecutada sobre Symfony2). Puede que incluso no sea posible hacerlo y no exista tal herramienta de actualización.</li>
<li>Si vas a desarrollar un sitio web que debe estar en producción en los próximos meses, olvídate de Symfony2.</li>
<li>La primera versión alpha de Symfony2 estará disponible seguramente en Septiembre.</li>
<li>La nueva documentación de Symfony2 se publicará el miércoles por la tarde o el jueves por la mañana.</li>
</ul>
<p>Symfony2 cada día está más cerca y continúa añadiendo componentes que lo convierten en el mejor framework PHP para aplicaciones profesionales. Si quieres conocer más características, recuerda que las próximas <a href="http://decharlas.uji.es/symfony/">Jornadas Symfony</a> en Castellón incluirán una sesión dedicada a Symfony2.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.symfony.es/2010/06/22/resumen-de-la-conferencia-state-of-symfony-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

