<?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>Zelofan &#187; php</title>
	<atom:link href="http://www.zelofan.net/blog/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zelofan.net/blog</link>
	<description>Stories, music, flyers &#038; tech</description>
	<lastBuildDate>Tue, 07 Sep 2010 06:06:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Symfony: dos campos con TinyMCE en el mismo formulario</title>
		<link>http://www.zelofan.net/blog/2009/03/24/symfony-dos-campos-con-tinymce-en-el-mismo-formulario/</link>
		<comments>http://www.zelofan.net/blog/2009/03/24/symfony-dos-campos-con-tinymce-en-el-mismo-formulario/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 18:21:26 +0000</pubDate>
		<dc:creator>ramses</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://www.zelofan.net/blog/?p=1087</guid>
		<description><![CDATA[En symfony podemos utilizar fácilmente TinyMCE en un textarea gracias al plugin sfFormExtraPlugin. Una vez instalado el plugin con symfony plugin:install sfFormExtraPlugin debemos recordar bajar también el paquete de TinyMCE y descomprimirlo en web/js. En mi caso, lo he dejado en web/js/tiny_mce, por lo que, a continuación, he modificado el archivo view.yml de mi aplicación, [...]]]></description>
			<content:encoded><![CDATA[<p>En <a href="http://www.symfony-project.org">symfony</a> podemos utilizar fácilmente <a href="http://tinymce.moxiecode.com/">TinyMCE</a> en un textarea gracias al plugin <a href="http://www.symfony-project.org/plugins/sfFormExtraPlugin">sfFormExtraPlugin</a>. Una vez instalado el plugin con </p>
<p><code>symfony plugin:install sfFormExtraPlugin</code></p>
<p> debemos recordar bajar también el <a href="http://tinymce.moxiecode.com/download.php">paquete de TinyMCE</a> y  descomprimirlo en web/js. En mi caso, lo he dejado en web/js/tiny_mce, por lo que, a continuación, he modificado el archivo view.yml de mi aplicación, específicamente la línea</p>
<p><code> javascript: [ tiny_mce/tiny_mce.js ]</code></p>
<p>para cargar TinyMCE en todas mis páginas. Si no quisiera cargarlo en todas, modificaríamos el view.yml del módulo en particular donde lo queremos utilizar. Debemos recordar, así mismo, modificar el settings.yml de nuestra aplicación para indicar dónde se encuentra:</p>
<p><code>rich_text_js_dir: js/tiny_mce</code></p>
<p>Para utilizar el textarea con TinyMCE, sólo debemos declarar el widget correspondiente de la siguiente forma:</p>
<p><code>$this->widgetSchema['entradilla']  = new sfWidgetFormTextareaTinyMCE(<br />
            array(<br />
            'config' => sfConfig::get('app_tiny_mce_simple')<br />
            ));</code></p>
<p>Lo que he hecho, en este caso, es llamar a sfWidgetFormTextareaTinyMCE con la configuración almacenada en el app.yml de nuestra aplicación, donde me he definido la variable global app_tiny_mce_simple, que contiene lo siguiente:</p>
<p><code>  tiny_mce_simple: |<br />
    width: "550px",<br />
    height: "200px",<br />
    language: "es",<br />
    relative_urls: false,<br />
    convert_urls: false,<br />
    plugins: "preview, paste, advlink, fullscreen",<br />
    theme_advanced_buttons1: "bold, italic, underline, separator, justifyleft, justifycenter, justifyright, justifyfull, separator, outdent, indent, separator, pastetext, pasteword, separator, link, bullist, numlist, separator, undo, redo, selectall, separator, preview, code, fullscreen",<br />
    theme_advanced_buttons2: "",<br />
    theme_advanced_buttons3: "",<br />
    plugin_preview_width: "500",<br />
    plugin_preview_height: "600",<br />
    fullscreen_new_window: true,<br />
    theme_advanced_resize_horizontal: false,<br />
    paste_auto_cleanup_on_paste: true,</code></p>
<p>Como véis, lo único que hemos hecho ha sido pasar los parámetros de configuración a TinyMCE.</p>
<p>El problema viene cuando queremos utilizar dos textareas con TinyMCE en el mismo formulario. De momento, en la versión 1.2.4 de Symfony, hay un pequeño &#8220;bug&#8221; (si podemos llegar a  llamarlo así), ya que al usar dos TinyMCE se pierden los ids. La solución es muy sencilla: añadir a la configuración de TinyMCE los parámetros elements con el id y mode con &#8220;exact&#8221;, como en este ejemplo:</p>
<p><code>$this->widgetSchema['entradilla']  = new sfWidgetFormTextareaTinyMCE(<br />
            array(<br />
            'config' => sfConfig::get('app_tiny_mce_simple'). ' elements: "noticia_entradilla", mode: "exact"'<br />
            ));</code></p>
<p>Ya podemos utilizar todos los textareas que queramos con TinyMCE, sólo tenemos que recordar cambiar &#8220;elements&#8221; por el id correspondiente.</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2009%2F03%2F24%2Fsymfony-dos-campos-con-tinymce-en-el-mismo-formulario%2F&amp;title=Symfony%3A+dos+campos+con+TinyMCE+en+el+mismo+formulario" title="Bookmark this post : Symfony: dos campos con TinyMCE en el mismo formulario on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2009%2F03%2F24%2Fsymfony-dos-campos-con-tinymce-en-el-mismo-formulario%2F&amp;title=Symfony%3A+dos+campos+con+TinyMCE+en+el+mismo+formulario&amp;bodytext=En+symfony+podemos+utilizar+f%C3%A1cilmente+TinyMCE+en+un+textarea+gracias+al+plugin+sfFormExtraPlugin.+Una+vez+instalado+el+plugin+con+%0D%0A%0D%0Asymfony+plugin%3Ainstall+sfFormExtraPlugin%0D%0A%0D%0A+debemos+recordar+bajar+tambi%C3%A9n+el+paquete+de+TinyMCE+y++descomprimirlo+en+web%2Fjs.+En+mi+caso%2C+lo+he+dejado+en+web%2Fjs%2Ftiny_mce%2C+por+lo+que%2C" title="Digg this post : Symfony: dos campos con TinyMCE en el mismo formulario"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2009%2F03%2F24%2Fsymfony-dos-campos-con-tinymce-en-el-mismo-formulario%2F&amp;t=Symfony%3A+dos+campos+con+TinyMCE+en+el+mismo+formulario" title="Recommend this post : Symfony: dos campos con TinyMCE en el mismo formulario on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="linkedin" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2009%2F03%2F24%2Fsymfony-dos-campos-con-tinymce-en-el-mismo-formulario%2F&amp;title=Symfony%3A+dos+campos+con+TinyMCE+en+el+mismo+formulario&amp;&amp;summary=" title="Share this post : Symfony: dos campos con TinyMCE en el mismo formulario on Linkedin"><span class="head">Share on Linkedin</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2009%2F03%2F24%2Fsymfony-dos-campos-con-tinymce-en-el-mismo-formulario%2F&amp;title=Symfony%3A+dos+campos+con+TinyMCE+en+el+mismo+formulario" title="Share this post : Symfony: dos campos con TinyMCE en el mismo formulario on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2009%2F03%2F24%2Fsymfony-dos-campos-con-tinymce-en-el-mismo-formulario%2F&amp;title=Symfony%3A+dos+campos+con+TinyMCE+en+el+mismo+formulario" title="Share this post : Symfony: dos campos con TinyMCE en el mismo formulario with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2009%2F03%2F24%2Fsymfony-dos-campos-con-tinymce-en-el-mismo-formulario%2F" title="Tweet this post : Symfony: dos campos con TinyMCE en el mismo formulario on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="rss" href="http://www.zelofan.net/blog/2009/03/24/symfony-dos-campos-con-tinymce-en-el-mismo-formulario/feed" title="Follow this post : Symfony: dos campos con TinyMCE en el mismo formulario comments"><span class="head">Subscribe to the comments on this post</span></a></li>
<li class="iconOnly"><a rel="" class="email" href="mailto:?subject=Zelofan : Symfony: dos campos con TinyMCE en el mismo formulario&#038;body=here is a link to a site I really like.   http://www.zelofan.net/blog/2009/03/24/symfony-dos-campos-con-tinymce-en-el-mismo-formulario/" title="Tell a friend about this post : Symfony: dos campos con TinyMCE en el mismo formulario "><span class="head">Tell a friend</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="print" href="javascript:window.print();" title="Print this post : Symfony: dos campos con TinyMCE en el mismo formulario for reading later"><span class="head">Print for later</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.zelofan.net/blog/2009/03/24/symfony-dos-campos-con-tinymce-en-el-mismo-formulario/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Configurar lighttpd para albergar un proyecto con symfony</title>
		<link>http://www.zelofan.net/blog/2008/12/02/configurar-lighttpd-para-albergar-un-proyecto-con-symfony/</link>
		<comments>http://www.zelofan.net/blog/2008/12/02/configurar-lighttpd-para-albergar-un-proyecto-con-symfony/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 17:27:05 +0000</pubDate>
		<dc:creator>ramses</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[lighttpd]]></category>

		<guid isPermaLink="false">http://www.zelofan.net/blog/?p=733</guid>
		<description><![CDATA[Desde hace un par de meses tengo un pequeño servidor en casa con debian instalado, dedicado básicamente a estar las 24h conectado a internet bajando torrents y como servidor en el que hacer pruebas diversas. Al tener un hardware muy básico (128MB de RAM, procesador ARM9 de 500Mhz), el servidor web debía ser lo más [...]]]></description>
			<content:encoded><![CDATA[<p>Desde hace un par de meses tengo un pequeño servidor en casa con debian instalado, dedicado básicamente a estar las 24h conectado a internet bajando torrents y como servidor en el que hacer pruebas diversas. Al tener un hardware muy básico (128MB de RAM, procesador ARM9 de 500Mhz), el servidor web debía ser lo más ligero posible, por lo que todo el mundo recomendaba lighttpd. Así que me puse manos a la obra, y gracias a apt-get en un momento estaba instalado ;)</p>
<p>El problema vino hace un par de días al querer utilizar este servidor para realizar pruebas con symfony. En casi todos los sitios hablan de qué cambiar en apache, pero no lighttpd, así que tras preguntar a SanGoogle, esto es lo que encontré:</p>
<p><code>server.modules += ( "mod_simple_vhost" , "mod_rewrite" )</p>
<p>$HTTP ["host"] == "jobeet" {<br />
  server.document-root = "/home/sfprojects/jobeet/web"<br />
  server.indexfiles = ( "index.php", "index.html")<br />
  alias.url            = (<br />
      "/sf"           => "/usr/share/php/data/symfony/web/sf"<br />
    )<br />
  server.error-handler-404 = "/index.php"<br />
}<br />
</code> </p>
<p>Como véis, es un código muy sencillo a añadir al archivo de configuración de lighttpd (en debian, /etc/lighttpd/lighttpd.conf). En mi caso, he creado el host jobeet para ir probando el <a href="http://www.symfony-project.org/jobeet/1_2/en/"> nuevo tutorial de 24 días que se está publicando en la web oficial de symfony</a>. Lo primero que necesitamos son los módulos de vhost y rewrite, si no los teníamos anteriormente &#8220;cargados&#8221;. Después simplemente le decimos donde está el directorio raíz del host (en mi caso, en un directorio que he creado en /home para todos los proyectos de symfony llamado sfprojects/ , y dentro de él, en el de nombre &#8220;jobeet&#8221;, en su directorio web/). Y por último, redirigimos el directorio /sf al directorio donde hayamos instalado symfony. En debian, y con la instalación de symfony mediante PEAR, por defecto está en /usr/share/php/data/symfony/web/sf.</p>
<p>Et voilà, reiniciamos lighttpd y ya tenemos el proyecto con symfony funcionando ;)</p>
<p>PD: No olvidar añadir la IP del servidor y el nombre del host, en esta caso &#8220;jobeet&#8221;, a nuestro archivo de hosts local&#8230;</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F12%2F02%2Fconfigurar-lighttpd-para-albergar-un-proyecto-con-symfony%2F&amp;title=Configurar+lighttpd+para+albergar+un+proyecto+con+symfony" title="Bookmark this post : Configurar lighttpd para albergar un proyecto con symfony on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F12%2F02%2Fconfigurar-lighttpd-para-albergar-un-proyecto-con-symfony%2F&amp;title=Configurar+lighttpd+para+albergar+un+proyecto+con+symfony&amp;bodytext=Desde+hace+un+par+de+meses+tengo+un+peque%C3%B1o+servidor+en+casa+con+debian+instalado%2C+dedicado+b%C3%A1sicamente+a+estar+las+24h+conectado+a+internet+bajando+torrents+y+como+servidor+en+el+que+hacer+pruebas+diversas.+Al+tener+un+hardware+muy+b%C3%A1sico+%28128MB+de+RAM%2C+procesador+ARM9+de+500Mhz%29%2C+el+servidor+web+deb%C3%ADa+ser+lo+m%C3%A1s" title="Digg this post : Configurar lighttpd para albergar un proyecto con symfony"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F12%2F02%2Fconfigurar-lighttpd-para-albergar-un-proyecto-con-symfony%2F&amp;t=Configurar+lighttpd+para+albergar+un+proyecto+con+symfony" title="Recommend this post : Configurar lighttpd para albergar un proyecto con symfony on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="linkedin" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F12%2F02%2Fconfigurar-lighttpd-para-albergar-un-proyecto-con-symfony%2F&amp;title=Configurar+lighttpd+para+albergar+un+proyecto+con+symfony&amp;&amp;summary=" title="Share this post : Configurar lighttpd para albergar un proyecto con symfony on Linkedin"><span class="head">Share on Linkedin</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F12%2F02%2Fconfigurar-lighttpd-para-albergar-un-proyecto-con-symfony%2F&amp;title=Configurar+lighttpd+para+albergar+un+proyecto+con+symfony" title="Share this post : Configurar lighttpd para albergar un proyecto con symfony on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F12%2F02%2Fconfigurar-lighttpd-para-albergar-un-proyecto-con-symfony%2F&amp;title=Configurar+lighttpd+para+albergar+un+proyecto+con+symfony" title="Share this post : Configurar lighttpd para albergar un proyecto con symfony with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F12%2F02%2Fconfigurar-lighttpd-para-albergar-un-proyecto-con-symfony%2F" title="Tweet this post : Configurar lighttpd para albergar un proyecto con symfony on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="rss" href="http://www.zelofan.net/blog/2008/12/02/configurar-lighttpd-para-albergar-un-proyecto-con-symfony/feed" title="Follow this post : Configurar lighttpd para albergar un proyecto con symfony comments"><span class="head">Subscribe to the comments on this post</span></a></li>
<li class="iconOnly"><a rel="" class="email" href="mailto:?subject=Zelofan : Configurar lighttpd para albergar un proyecto con symfony&#038;body=here is a link to a site I really like.   http://www.zelofan.net/blog/2008/12/02/configurar-lighttpd-para-albergar-un-proyecto-con-symfony/" title="Tell a friend about this post : Configurar lighttpd para albergar un proyecto con symfony "><span class="head">Tell a friend</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="print" href="javascript:window.print();" title="Print this post : Configurar lighttpd para albergar un proyecto con symfony for reading later"><span class="head">Print for later</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.zelofan.net/blog/2008/12/02/configurar-lighttpd-para-albergar-un-proyecto-con-symfony/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Symfony 1.2.0</title>
		<link>http://www.zelofan.net/blog/2008/12/02/symfony-120/</link>
		<comments>http://www.zelofan.net/blog/2008/12/02/symfony-120/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 15:43:30 +0000</pubDate>
		<dc:creator>ramses</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.zelofan.net/blog/?p=726</guid>
		<description><![CDATA[Ya está disponible la versión 1.2.0 definitiva de Symfony, tras varios meses de desarrollo y diferentes betas. Mejoras en los formularios, en el generador automático del &#8220;backend&#8221; de administración y mil cosas más, que puedes ver en su web, por ejemplo, en su what&#8217;s new. He ido probando las betas y los cambios respecto a [...]]]></description>
			<content:encoded><![CDATA[<p>Ya está disponible la versión 1.2.0 definitiva de <a href="http://www.symfony-project.com">Symfony</a>, tras varios meses de desarrollo y diferentes betas. Mejoras en los formularios, en el generador automático del &#8220;backend&#8221; de administración y mil cosas más, que puedes ver en su web, por ejemplo, en su <a href="http://www.symfony-project.org/tutorial/1_2/whats-new">what&#8217;s new</a>. </p>
<p>He ido probando las betas y los cambios respecto a 1.0-1.1 son sustanciales, ahora sólo me falta meterle mano a la versión definitiva y ver si han corregido todos los pequeños fallos que tenían en las betas. Espero comentar más cosas (buenas) pronto&#8230; </p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F12%2F02%2Fsymfony-120%2F&amp;title=Symfony+1.2.0" title="Bookmark this post : Symfony 1.2.0 on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F12%2F02%2Fsymfony-120%2F&amp;title=Symfony+1.2.0&amp;bodytext=Ya+est%C3%A1+disponible+la+versi%C3%B3n+1.2.0+definitiva+de+Symfony%2C+tras+varios+meses+de+desarrollo+y+diferentes+betas.+Mejoras+en+los+formularios%2C+en+el+generador+autom%C3%A1tico+del+%22backend%22+de+administraci%C3%B3n+y+mil+cosas+m%C3%A1s%2C+que+puedes+ver+en+su+web%2C+por+ejemplo%2C+en+su+what%27s+new.+%0D%0A%0D%0AHe+ido+probando+las+betas+y+los+cambios" title="Digg this post : Symfony 1.2.0"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F12%2F02%2Fsymfony-120%2F&amp;t=Symfony+1.2.0" title="Recommend this post : Symfony 1.2.0 on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="linkedin" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F12%2F02%2Fsymfony-120%2F&amp;title=Symfony+1.2.0&amp;&amp;summary=" title="Share this post : Symfony 1.2.0 on Linkedin"><span class="head">Share on Linkedin</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F12%2F02%2Fsymfony-120%2F&amp;title=Symfony+1.2.0" title="Share this post : Symfony 1.2.0 on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F12%2F02%2Fsymfony-120%2F&amp;title=Symfony+1.2.0" title="Share this post : Symfony 1.2.0 with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F12%2F02%2Fsymfony-120%2F" title="Tweet this post : Symfony 1.2.0 on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="rss" href="http://www.zelofan.net/blog/2008/12/02/symfony-120/feed" title="Follow this post : Symfony 1.2.0 comments"><span class="head">Subscribe to the comments on this post</span></a></li>
<li class="iconOnly"><a rel="" class="email" href="mailto:?subject=Zelofan : Symfony 1.2.0&#038;body=here is a link to a site I really like.   http://www.zelofan.net/blog/2008/12/02/symfony-120/" title="Tell a friend about this post : Symfony 1.2.0 "><span class="head">Tell a friend</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="print" href="javascript:window.print();" title="Print this post : Symfony 1.2.0 for reading later"><span class="head">Print for later</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.zelofan.net/blog/2008/12/02/symfony-120/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cómo llamar al método de una clase con una variable en PHP</title>
		<link>http://www.zelofan.net/blog/2008/10/29/como-llamar-al-metodo-de-una-clase-con-una-variable-en-php/</link>
		<comments>http://www.zelofan.net/blog/2008/10/29/como-llamar-al-metodo-de-una-clase-con-una-variable-en-php/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 07:47:39 +0000</pubDate>
		<dc:creator>ramses</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.zelofan.net/blog/?p=690</guid>
		<description><![CDATA[Llevo un tiempo currando con Symfony y, hasta ahora, no me había encontrado nunca con el problema de llamar a una clase a través de una variable. El problema me surgió ayer al querer refactorizar unas funciones y tener que llamar a una clase determinada, que tenía guardada en una variable. Después de tirarme un [...]]]></description>
			<content:encoded><![CDATA[<p>Llevo un tiempo currando con <a href="http://www.symfony-project.org/">Symfony</a> y, hasta ahora, no me había encontrado nunca con el problema de llamar a una clase a través de una variable. El problema me surgió ayer al querer refactorizar unas funciones y tener que llamar a una clase determinada, que tenía guardada en una variable.</p>
<p>Después de tirarme un buen rato buscando algún tipo de sintaxis que funcionara para hacer algo como $clase::metodo(), fui a donde debía haber ido desde el principio, a <a href="www.php.net">la web de PHP</a>, donde me enteré que hasta la próxima versión 5.3.0 no será posible llamar a los métodos de esa forma. Una posible solución que encontré, por si alguien lo necesita alguna vez (yo mismo, por ejemplo :D), es utilizar la función call_user_func de la siguiente forma:</p>
<p><code>call_user_func(array($clase,'metodo'), $parametros);</code></p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F10%2F29%2Fcomo-llamar-al-metodo-de-una-clase-con-una-variable-en-php%2F&amp;title=C%C3%B3mo+llamar+al+m%C3%A9todo+de+una+clase+con+una+variable+en+PHP" title="Bookmark this post : Cómo llamar al método de una clase con una variable en PHP on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F10%2F29%2Fcomo-llamar-al-metodo-de-una-clase-con-una-variable-en-php%2F&amp;title=C%C3%B3mo+llamar+al+m%C3%A9todo+de+una+clase+con+una+variable+en+PHP&amp;bodytext=Llevo+un+tiempo+currando+con+Symfony+y%2C+hasta+ahora%2C+no+me+hab%C3%ADa+encontrado+nunca+con+el+problema+de+llamar+a+una+clase+a+trav%C3%A9s+de+una+variable.+El+problema+me+surgi%C3%B3+ayer+al+querer+refactorizar+unas+funciones+y+tener+que+llamar+a+una+clase+determinada%2C+que+ten%C3%ADa+guardada+en+una+variable.%0D%0A%0D%0ADespu%C3%A9s+de+tirarme+un" title="Digg this post : Cómo llamar al método de una clase con una variable en PHP"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F10%2F29%2Fcomo-llamar-al-metodo-de-una-clase-con-una-variable-en-php%2F&amp;t=C%C3%B3mo+llamar+al+m%C3%A9todo+de+una+clase+con+una+variable+en+PHP" title="Recommend this post : Cómo llamar al método de una clase con una variable en PHP on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="linkedin" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F10%2F29%2Fcomo-llamar-al-metodo-de-una-clase-con-una-variable-en-php%2F&amp;title=C%C3%B3mo+llamar+al+m%C3%A9todo+de+una+clase+con+una+variable+en+PHP&amp;&amp;summary=" title="Share this post : Cómo llamar al método de una clase con una variable en PHP on Linkedin"><span class="head">Share on Linkedin</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F10%2F29%2Fcomo-llamar-al-metodo-de-una-clase-con-una-variable-en-php%2F&amp;title=C%C3%B3mo+llamar+al+m%C3%A9todo+de+una+clase+con+una+variable+en+PHP" title="Share this post : Cómo llamar al método de una clase con una variable en PHP on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F10%2F29%2Fcomo-llamar-al-metodo-de-una-clase-con-una-variable-en-php%2F&amp;title=C%C3%B3mo+llamar+al+m%C3%A9todo+de+una+clase+con+una+variable+en+PHP" title="Share this post : Cómo llamar al método de una clase con una variable en PHP with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F10%2F29%2Fcomo-llamar-al-metodo-de-una-clase-con-una-variable-en-php%2F" title="Tweet this post : Cómo llamar al método de una clase con una variable en PHP on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="rss" href="http://www.zelofan.net/blog/2008/10/29/como-llamar-al-metodo-de-una-clase-con-una-variable-en-php/feed" title="Follow this post : Cómo llamar al método de una clase con una variable en PHP comments"><span class="head">Subscribe to the comments on this post</span></a></li>
<li class="iconOnly"><a rel="" class="email" href="mailto:?subject=Zelofan : Cómo llamar al método de una clase con una variable en PHP&#038;body=here is a link to a site I really like.   http://www.zelofan.net/blog/2008/10/29/como-llamar-al-metodo-de-una-clase-con-una-variable-en-php/" title="Tell a friend about this post : Cómo llamar al método de una clase con una variable en PHP "><span class="head">Tell a friend</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="print" href="javascript:window.print();" title="Print this post : Cómo llamar al método de una clase con una variable en PHP for reading later"><span class="head">Print for later</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.zelofan.net/blog/2008/10/29/como-llamar-al-metodo-de-una-clase-con-una-variable-en-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generar pantallazo de un vídeo.</title>
		<link>http://www.zelofan.net/blog/2008/03/27/generar-pantallazo-de-un-video/</link>
		<comments>http://www.zelofan.net/blog/2008/03/27/generar-pantallazo-de-un-video/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 14:16:11 +0000</pubDate>
		<dc:creator>ramses</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.zelofan.net/blog/?p=375</guid>
		<description><![CDATA[La última función que he tenido que crear para un proyecto era una para generar un pantallazo en jpg de un fotograma de un vídeo .flv. No recuerdo en qué web encontré la respuesta, pero pasaba por utilizar ffmpeg. Este es el método que me ha quedado: function Genera_Pantallazo($origen,$fotograma) { $destino=substr_replace($origen,".jpg",-4); $segundos=$fotograma; $horas = intval($segundos/3600); [...]]]></description>
			<content:encoded><![CDATA[<p>La última función que he tenido que crear para un proyecto era una para generar un pantallazo en jpg de un fotograma de un vídeo .flv. No recuerdo en qué web encontré la respuesta, pero pasaba por utilizar ffmpeg. </p>
<p>Este es el método que me ha quedado:</p>
<pre lang="php" line="1">
function Genera_Pantallazo($origen,$fotograma) {
	$destino=substr_replace($origen,".jpg",-4);

	$segundos=$fotograma;
	$horas = intval($segundos/3600);
	$segundos -= $horas*3600;
	$minutos = intval($segundos/60);
	$segundos -= $minutos*60;
	$tiempo=$horas.":".$minutos.":".$segundos;

	$comando="ffmpeg -i $origen -vcodec mjpeg -ss $tiempo -vframes 1 -f image2 $destino";

	// echo "Ejecutamos $comando";  <--- Para comprobar que formábamos bien el comando
	exec($comando);

	return basename($destino);
}
</pre>
<p>Como véis, es bastante sencillo. Recibimos 2 variables: la ruta origen al fichero de vídeo y el número del segundo del que queremos generar el pantallazo. Lo primero que hacemos es especificar la ruta destino, que será la misma que la de origen, pero cambiando la extensión a .jpg. </p>
<p>Después realizamos el cálculo de horas, minutos y segundos a partir de los segundos que hemos pasado, para componer una cadena del tipo HH:MM:SS, que es la que pasaremos, a continuación, a ffmpeg, al cual le indicamos el codec de salida, el número de frames (1 para el pantallazo) y las rutas.</p>
<p>Por último, devuelvo el nombre del fichero generado. Modificar al gusto ;)</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F03%2F27%2Fgenerar-pantallazo-de-un-video%2F&amp;title=Generar+pantallazo+de+un+v%C3%ADdeo." title="Bookmark this post : Generar pantallazo de un vídeo. on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F03%2F27%2Fgenerar-pantallazo-de-un-video%2F&amp;title=Generar+pantallazo+de+un+v%C3%ADdeo.&amp;bodytext=La+%C3%BAltima+funci%C3%B3n+que+he+tenido+que+crear+para+un+proyecto+era+una+para+generar+un+pantallazo+en+jpg+de+un+fotograma+de+un+v%C3%ADdeo+.flv.+No+recuerdo+en+qu%C3%A9+web+encontr%C3%A9+la+respuesta%2C+pero+pasaba+por+utilizar+ffmpeg.+%0D%0A%0D%0AEste+es+el+m%C3%A9todo+que+me+ha+quedado%3A%0D%0A%0D%0A%0D%0Afunction+Genera_Pantallazo%28%24origen%2C%24fotograma%29+%7B%0D%0A%09%24de" title="Digg this post : Generar pantallazo de un vídeo."><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F03%2F27%2Fgenerar-pantallazo-de-un-video%2F&amp;t=Generar+pantallazo+de+un+v%C3%ADdeo." title="Recommend this post : Generar pantallazo de un vídeo. on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="linkedin" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F03%2F27%2Fgenerar-pantallazo-de-un-video%2F&amp;title=Generar+pantallazo+de+un+v%C3%ADdeo.&amp;&amp;summary=" title="Share this post : Generar pantallazo de un vídeo. on Linkedin"><span class="head">Share on Linkedin</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F03%2F27%2Fgenerar-pantallazo-de-un-video%2F&amp;title=Generar+pantallazo+de+un+v%C3%ADdeo." title="Share this post : Generar pantallazo de un vídeo. on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F03%2F27%2Fgenerar-pantallazo-de-un-video%2F&amp;title=Generar+pantallazo+de+un+v%C3%ADdeo." title="Share this post : Generar pantallazo de un vídeo. with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2008%2F03%2F27%2Fgenerar-pantallazo-de-un-video%2F" title="Tweet this post : Generar pantallazo de un vídeo. on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="rss" href="http://www.zelofan.net/blog/2008/03/27/generar-pantallazo-de-un-video/feed" title="Follow this post : Generar pantallazo de un vídeo. comments"><span class="head">Subscribe to the comments on this post</span></a></li>
<li class="iconOnly"><a rel="" class="email" href="mailto:?subject=Zelofan : Generar pantallazo de un vídeo.&#038;body=here is a link to a site I really like.   http://www.zelofan.net/blog/2008/03/27/generar-pantallazo-de-un-video/" title="Tell a friend about this post : Generar pantallazo de un vídeo. "><span class="head">Tell a friend</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="print" href="javascript:window.print();" title="Print this post : Generar pantallazo de un vídeo. for reading later"><span class="head">Print for later</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.zelofan.net/blog/2008/03/27/generar-pantallazo-de-un-video/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ideas en mente: JS y PHP por un tubo</title>
		<link>http://www.zelofan.net/blog/2007/12/26/ideas-en-mente-js-y-php-por-un-tubo/</link>
		<comments>http://www.zelofan.net/blog/2007/12/26/ideas-en-mente-js-y-php-por-un-tubo/#comments</comments>
		<pubDate>Wed, 26 Dec 2007 17:24:20 +0000</pubDate>
		<dc:creator>ramses</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://www.zelofan.net/blog/?p=279</guid>
		<description><![CDATA[Llevo varias semanas intentando ponerme y nunca lo hago. Por un lado, quiero aprender &#8220;bien&#8221;, de una vez, JavaScript y, de paso, echarle un ojo tanto a ExtJS (las malas compañías&#8230;) como a famosas librerías JS tipo jQuery o Prototype. De paso, quiero meterme a fondo con algún framework PHP, seguramente Symfony, aunque no descarto [...]]]></description>
			<content:encoded><![CDATA[<p>Llevo varias semanas intentando ponerme y nunca lo hago. Por un lado, quiero aprender &#8220;bien&#8221;, de una vez, JavaScript y, de paso, echarle un ojo tanto a <a href="http://extjs.com">ExtJS</a> (las malas compañías&#8230;) como a famosas librerías JS tipo <a href="http://jquery.com">jQuery</a> o <a href="http://www.prototypejs.org">Prototype</a>. </p>
<p>De paso, quiero meterme a fondo con algún framework PHP, seguramente <a href="http://www.symfony.com">Symfony</a>, aunque no descarto <a href="http://www.cakephp.org">CakePHP</a> o <a href="http://framework.zend.com/">Zend Framework</a> (¿alguna sugerencia para inclinarme por uno de ellos?).</p>
<p>Y para practicar un poco de todo esto, llevarlo a la práctica mediante el desarrollo de una aplicación web para la gestión de aulas-alumnos-clases tipo <a href="http://www.siestta.org">Siestta</a>. </p>
<p>Ya veremos en qué queda todo, si en sólo buenas intenciones o en algo más&#8230; :D</p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2007%2F12%2F26%2Fideas-en-mente-js-y-php-por-un-tubo%2F&amp;title=Ideas+en+mente%3A+JS+y+PHP+por+un+tubo" title="Bookmark this post : Ideas en mente: JS y PHP por un tubo on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2007%2F12%2F26%2Fideas-en-mente-js-y-php-por-un-tubo%2F&amp;title=Ideas+en+mente%3A+JS+y+PHP+por+un+tubo&amp;bodytext=Llevo+varias+semanas+intentando+ponerme+y+nunca+lo+hago.+Por+un+lado%2C+quiero+aprender+%22bien%22%2C+de+una+vez%2C+JavaScript+y%2C+de+paso%2C+echarle+un+ojo+tanto+a+ExtJS+%28las+malas+compa%C3%B1%C3%ADas...%29+como+a+famosas+librer%C3%ADas+JS+tipo+jQuery+o+Prototype.+%0D%0A%0D%0ADe+paso%2C+quiero+meterme+a+fondo+con+alg%C3%BAn+framework+PHP%2C+seguramente+Symfony" title="Digg this post : Ideas en mente: JS y PHP por un tubo"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2007%2F12%2F26%2Fideas-en-mente-js-y-php-por-un-tubo%2F&amp;t=Ideas+en+mente%3A+JS+y+PHP+por+un+tubo" title="Recommend this post : Ideas en mente: JS y PHP por un tubo on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="linkedin" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2007%2F12%2F26%2Fideas-en-mente-js-y-php-por-un-tubo%2F&amp;title=Ideas+en+mente%3A+JS+y+PHP+por+un+tubo&amp;&amp;summary=" title="Share this post : Ideas en mente: JS y PHP por un tubo on Linkedin"><span class="head">Share on Linkedin</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2007%2F12%2F26%2Fideas-en-mente-js-y-php-por-un-tubo%2F&amp;title=Ideas+en+mente%3A+JS+y+PHP+por+un+tubo" title="Share this post : Ideas en mente: JS y PHP por un tubo on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2007%2F12%2F26%2Fideas-en-mente-js-y-php-por-un-tubo%2F&amp;title=Ideas+en+mente%3A+JS+y+PHP+por+un+tubo" title="Share this post : Ideas en mente: JS y PHP por un tubo with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2007%2F12%2F26%2Fideas-en-mente-js-y-php-por-un-tubo%2F" title="Tweet this post : Ideas en mente: JS y PHP por un tubo on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="rss" href="http://www.zelofan.net/blog/2007/12/26/ideas-en-mente-js-y-php-por-un-tubo/feed" title="Follow this post : Ideas en mente: JS y PHP por un tubo comments"><span class="head">Subscribe to the comments on this post</span></a></li>
<li class="iconOnly"><a rel="" class="email" href="mailto:?subject=Zelofan : Ideas en mente: JS y PHP por un tubo&#038;body=here is a link to a site I really like.   http://www.zelofan.net/blog/2007/12/26/ideas-en-mente-js-y-php-por-un-tubo/" title="Tell a friend about this post : Ideas en mente: JS y PHP por un tubo "><span class="head">Tell a friend</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="print" href="javascript:window.print();" title="Print this post : Ideas en mente: JS y PHP por un tubo for reading later"><span class="head">Print for later</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.zelofan.net/blog/2007/12/26/ideas-en-mente-js-y-php-por-un-tubo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalando Symfony en Mac OSX</title>
		<link>http://www.zelofan.net/blog/2007/09/24/instalando-symfony-en-mac-osx/</link>
		<comments>http://www.zelofan.net/blog/2007/09/24/instalando-symfony-en-mac-osx/#comments</comments>
		<pubDate>Mon, 24 Sep 2007 18:59:17 +0000</pubDate>
		<dc:creator>ramses</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[mamp]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.zelofan.net/blog/?p=178</guid>
		<description><![CDATA[Una de los cosas que tenía pendientes por hacer en el MacBook era instalar Apache+Mysql+PHP y probar Symfony, uno de los más famosos frameworks para el desarrollo rápido de aplicaciones web en PHP. Lo primero no pudo ser más fácil, pero lo segundo ya me costó bastante más, por lo que me he decidido a [...]]]></description>
			<content:encoded><![CDATA[<p>Una de los cosas que tenía pendientes por hacer en el MacBook era instalar Apache+Mysql+PHP y probar Symfony, uno de los más famosos frameworks para el desarrollo rápido de aplicaciones web en PHP.</p>
<p>Lo primero no pudo ser más fácil, pero lo segundo ya me costó bastante más, por lo que me he decidido a escribir mi experiencia, por si a alguien le sirve.</p>
<p>Para instalar Apache+MySQL+PHP no hay más que descargarse <a href="http://www.mamp.info/">MAMP</a> (actualmente, versión 1.7) e instalarlo como cualquier otra aplicación en OSX. Una vez instalado podremos comprobar su funcionamiento ejecutando la aplicación, y viendo como lanza los servicios de apache y mysql,  junto a la página de inicio de Apache en el navegador.</p>
<p>El problema viene con <a href="http://www.symfony-project.com/">Symfony</a>. Intenté instalarlo tal como lo describen <a href="http://wp.omeeza.com/sunhwan/2007/07/12/installing-symfony-in-mac-with-xampp/">en esta web</a>, pero, primero por mi inexperiencia con Mac, y después por diferentes errores enlazando librerías, no fui capaz de hacerlo funcionar (aunque sí me ha servido como excelente base para este documento).</p>
<p>Lo primero que hay que hacer es abrir un terminal y añadir al path de nuestro sistema las siguientes rutas, editando para ello el archivo /etc/profile (válido para todos los usuario del sistema):</p>
<p><code><br />
# sudo nano -w /etc/profile<br />
</code><br />
Una vez abierto, modificamos la línea del PATH y añadimos la de DYLD_LIBRARY_PATH:<br />
<code><br />
PATH="/Applications/MAMP/bin:/Applications/MAMP/bin/php5/bin:<br />
            /bin:/sbin:/usr/bin:/usr/sbin"</p>
<p>export PATH</p>
<p>export DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib"<br />
</code><br />
y guardamos el fichero (ctrl+x en el editor nano, se puede utilizar cualquier otro editor a tu gusto ;) ). Fijáos que añadimos las rutas ANTES del path que ya existía. De esta forma nos aseguramos que los comandos que utilizaremos son los que acabamos de instalar con MAMP (muy importante, ya que si no, utilizaría, por ejemplo, el php que lleva OSX por defecto)</p>
<p>La segunda línea he tenido que añadirla, ya que al ejecutar pear o symfony más tarde, no encontraba la ruta de las librerías.</p>
<p>Ahora ya podemos ejecutar el pear y el php recién instalados mediante MAMP. Para instalar symfony necesitamos identificarnos como root, utilizando sudo, y ejecutando peardev (con pear no funciona por un error en los límites de memoria de php. Esto se puede solucionar editando el archivo php.ini y cambiando memory_limit a 16M, por ejemplo, como indica noelmf en los comentarios). En la web que he enlazado anteriormente indicaba ejecutar lo siguiente:</p>
<p><code><br />
# sudo peardev channel-discover pear.symfony-project.com<br />
# sudo peardev install symfony/symfony<br />
</code></p>
<p>Aquí he tenido otro problema: aunque había añadido la ruta de las librerías en el profile, si ejecutaba el comando con sudo, el path funcionaba pero la ruta de la librería no :S (si hay algún entendido de Mac, por favor, que deje sus comentarios al final&#8230;). Para solucionar este tema, lo que he hecho ha sido crear un archivo instalarsymfony.sh con el siguiente contenido:</p>
<p><code><br />
#/bin/bash<br />
peardev channel-discover pear.symfony-project.com<br />
peardev install symfony/symfony<br />
</code></p>
<p>y después ejecutar este script como root, tras darle permisos de ejecución:</p>
<p><code><br />
# chmod +x instalarsymfony.sh<br />
# sudo instalarsymfony.sh<br />
</code></p>
<p><b>Actualizado 26/09/07:</b> Como nos comenta <a href="http://sildavia.net">Marino</a>, podemos evitarnos este paso entrando como root mediante &#8220;sudo su -&#8221; y ejecutando allí los los comandos de peardev anteriores (la explicación, en el primer comentario)</p>
<p>Por fin, tenemos instalado Symfony. Podemos comprobarlo con el comando:</p>
<p><code><br />
# symfony -V<br />
</code></p>
<p>Este comando nos muestra la versión instalada de Symfony, en mi caso, la 1.0.7.</p>
<p>Para comprobar que todo funciona correctamente, vamos a crear un proyecto y a configurar Apache con un host virtual. Lo primero es crear un directorio nuevo en nuestro home, el proyecto symfony (symfony_project, por ejemplo) y la aplicación inicial para ese proyecto (symfony_app, para seguir la nomenclatura anterior):</p>
<p><code><br />
# mkdir symfony_project<br />
# cd symfony_project<br />
# symfony init-project symfony_project<br />
# symfony init-app symfony_app<br />
</code></p>
<p>Ahora debemos configurar un host virtual en Apache, modificando el archivo /Applications/MAMP/conf/apache/httpd.conf</p>
<p><code><br />
# nano -w /Applications/MAMP/conf/apache/httpd.conf<br />
</code></p>
<p>y añadimos estas líneas al final del fichero:</p>
<p><code><br />
&lt;VirtualHost *:80&gt;<br />
  ServerName example.symfony_project.com<br />
  DocumentRoot "/users/ramses/symfony_project/web"<br />
  DirectoryIndex index.php<br />
  Alias /sf /Applications/MAMP/bin/php5/lib/php/data/symfony/web/sf<br />
  &lt;Directory "/Applications/MAMP/bin/php5/lib/php/data/symfony/web/sf"&gt;<br />
    AllowOverride All<br />
    Allow from All<br />
  &lt;/Directory&gt;<br />
  &lt;Directory "/users/ramses/symfony_project/web"&gt;<br />
    AllowOverride All<br />
    Allow from All<br />
  &lt;/Directory&gt;<br />
&lt;/VirtualHost&gt;<br />
</code></p>
<p>Tras esto, en MAMP he modificado el puerto de Apache, poniendo el 80 (preferencias->usar los puertos por defecto de Apache y MySQL) y reiniciamos los servicios (detener servidores-iniciar servidores). <b>Actualizado 26/09/07: </b>Como bien nos recuerda <a href="http://sildavia.net">Mariano</a> en los comentarios, para poder ejecutar el Apache de MAMP en el puerto 80, es necesario no tener corriendo el Apache original de Mac OSX (preferencias->compartir->compartir web)</p>
<p>Ahora sólo tenemos que abrir una ventana de nuestro navegador favorito e ir a la dirección que hayamos creado. En mi caso http://localhost/symfony_app_dev.php/</p>
<div align="center"><a href='http://www.zelofan.net/blog/wp-content/uploads/2007/09/symfony.jpg' title='symfony.jpg'><img src='http://www.zelofan.net/blog/wp-content/uploads/2007/09/symfony.jpg' alt='symfony.jpg' /></a></div>
<p>Enlaces interesantes:<br />
<a href="http://www.symfony-project.com">Web oficial de Symfony</a><br />
<a href="http://www.symfony.es">Comunidad española sobre Symfony</a><br />
<a href="http://wp.omeeza.com/sunhwan/2007/07/12/installing-symfony-in-mac-with-xampp/">Documento de referencia sobre cómo instalar Symfony sobre MAMP</a></p>
<ul class="socialwrap size32 row">
<li class="iconOnly"><a rel="nofollow" target="_blank" class="delicious" href="http://delicious.com/post?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2007%2F09%2F24%2Finstalando-symfony-en-mac-osx%2F&amp;title=Instalando+Symfony+en+Mac+OSX" title="Bookmark this post : Instalando Symfony en Mac OSX on Delicious"><span class="head">Bookmark on Delicious</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="digg" href="http://digg.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2007%2F09%2F24%2Finstalando-symfony-en-mac-osx%2F&amp;title=Instalando+Symfony+en+Mac+OSX&amp;bodytext=Una+de+los+cosas+que+ten%C3%ADa+pendientes+por+hacer+en+el+MacBook+era+instalar+Apache%2BMysql%2BPHP+y+probar+Symfony%2C+uno+de+los+m%C3%A1s+famosos+frameworks+para+el+desarrollo+r%C3%A1pido+de+aplicaciones+web+en+PHP.%0D%0A%0D%0ALo+primero+no+pudo+ser+m%C3%A1s+f%C3%A1cil%2C+pero+lo+segundo+ya+me+cost%C3%B3+bastante+m%C3%A1s%2C+por+lo+que+me+he+decidido+a+escribir" title="Digg this post : Instalando Symfony en Mac OSX"><span class="head">Digg this post</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="facebook" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2007%2F09%2F24%2Finstalando-symfony-en-mac-osx%2F&amp;t=Instalando+Symfony+en+Mac+OSX" title="Recommend this post : Instalando Symfony en Mac OSX on Facebook"><span class="head">Recommend on Facebook</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="linkedin" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2007%2F09%2F24%2Finstalando-symfony-en-mac-osx%2F&amp;title=Instalando+Symfony+en+Mac+OSX&amp;&amp;summary=" title="Share this post : Instalando Symfony en Mac OSX on Linkedin"><span class="head">Share on Linkedin</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="reddit" href="http://www.reddit.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2007%2F09%2F24%2Finstalando-symfony-en-mac-osx%2F&amp;title=Instalando+Symfony+en+Mac+OSX" title="Share this post : Instalando Symfony en Mac OSX on Reddit"><span class="head">share via Reddit</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="stumble" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2007%2F09%2F24%2Finstalando-symfony-en-mac-osx%2F&amp;title=Instalando+Symfony+en+Mac+OSX" title="Share this post : Instalando Symfony en Mac OSX with Stumblers"><span class="head">Share with Stumblers</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="_blank" class="twitter" href="http://twitter.com/home/?status=http%3A%2F%2Fwww.zelofan.net%2Fblog%2F2007%2F09%2F24%2Finstalando-symfony-en-mac-osx%2F" title="Tweet this post : Instalando Symfony en Mac OSX on Twitter"><span class="head">Tweet about it</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="rss" href="http://www.zelofan.net/blog/2007/09/24/instalando-symfony-en-mac-osx/feed" title="Follow this post : Instalando Symfony en Mac OSX comments"><span class="head">Subscribe to the comments on this post</span></a></li>
<li class="iconOnly"><a rel="" class="email" href="mailto:?subject=Zelofan : Instalando Symfony en Mac OSX&#038;body=here is a link to a site I really like.   http://www.zelofan.net/blog/2007/09/24/instalando-symfony-en-mac-osx/" title="Tell a friend about this post : Instalando Symfony en Mac OSX "><span class="head">Tell a friend</span></a></li>
<li class="iconOnly"><a rel="nofollow" target="" class="print" href="javascript:window.print();" title="Print this post : Instalando Symfony en Mac OSX for reading later"><span class="head">Print for later</span></a></li>
</ul>
<div class="clean"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.zelofan.net/blog/2007/09/24/instalando-symfony-en-mac-osx/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
	</channel>
</rss>
