<?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>zenphp :: blog &#187; PHP-Gtk</title>
	<atom:link href="http://blog.zenphp.es/category/php-gtk/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.zenphp.es</link>
	<description>Escribre tu aplicación como si fuera la última que escribieras</description>
	<lastBuildDate>Tue, 02 Feb 2010 09:03:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Aplicaciones de administración</title>
		<link>http://blog.zenphp.es/2008/04/29/aplicaciones-de-administracion/</link>
		<comments>http://blog.zenphp.es/2008/04/29/aplicaciones-de-administracion/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 11:42:20 +0000</pubDate>
		<dc:creator>juaxix</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Funcionalidades]]></category>
		<category><![CDATA[PHP-Gtk]]></category>
		<category><![CDATA[Progreso]]></category>
		<category><![CDATA[Sistema Gestor Contenidos]]></category>

		<guid isPermaLink="false">http://blog.zenphp.es/?p=129</guid>
		<description><![CDATA[Un gestor de contenidos de una aplicación de administración, a lo largo de la historia de zenphp me he visto obligado a crear diversos tipos de administradores e ingeniármelas para hacerlo de forma tan general que pudiera compartir el código entre proyectos para no reescribir todo el código una y otra vez en función de [...]]]></description>
			<content:encoded><![CDATA[<p>Un gestor de contenidos de una aplicación de administración, a lo largo de la historia de zenphp me he visto obligado a crear diversos tipos de administradores e ingeniármelas para hacerlo de forma tan general que pudiera compartir el código entre proyectos para no reescribir todo el código una y otra vez en función de las necesidades de los usuarios finales.<br />
Para generar dichas aplicaciones, estoy diseñando un modelo general de aplicación web de administración con una serie de plantillas, el conjunto total de la aplicación con administración es el cartucho que carga el generador Gtk y es compilado por el generador POA de forma que obtenemos el esqueleto inicial de una aplicación en pocos segundos ,sobre la que vamos a trabajar, podemos cambiar las plantillas de administración pero realmente no es algo primordial ya que sólo con cambiar el logo para cada proyecto y un par de cosas más estará completado.<br />
Adjunto una captura de una de las aplicaciones web de administración del modelo de &#8220;Portal&#8221; que estoy preparando como cartucho para incluir en el repositorio SVN del proyecto.<br />
<a href="http://blog.zenphp.es/wp-content/uploads/2008/04/captura_admin.jpg"><img class="aligncenter size-medium wp-image-130" title="captura_admin" src="http://blog.zenphp.es/wp-content/uploads/2008/04/captura_admin-300x141.jpg" alt="" width="300" height="141" /></a></p>
<p>En la imagen se puede ver el visualizador HTML donde el único HTML que hay son pequeños mensajes de resultados, una pregunta, una confirmación, cosas simples, que han de estar mejor en funciones que lean una plantilla por defecto, asi está todo bien organizado. El resultado es una página de administración para mantener el contenido de una aplicación web cliente de forma que cualquier usuario pueda modificar cualquier parte de la misma.</p>
<span class="akst_link"><a href="http://blog.zenphp.es/?p=129&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_129"  class="akst_share_link">Compártelo</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://blog.zenphp.es/2008/04/29/aplicaciones-de-administracion/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Generar el esqueleto de una aplicación web en 15 segundos</title>
		<link>http://blog.zenphp.es/2008/04/12/generar-el-esqueleto-de-una-aplicacion-web-en-15-segundos/</link>
		<comments>http://blog.zenphp.es/2008/04/12/generar-el-esqueleto-de-una-aplicacion-web-en-15-segundos/#comments</comments>
		<pubDate>Sat, 12 Apr 2008 06:30:45 +0000</pubDate>
		<dc:creator>juaxix</dc:creator>
				<category><![CDATA[Generadores]]></category>
		<category><![CDATA[PHP-Gtk]]></category>
		<category><![CDATA[Progreso]]></category>

		<guid isPermaLink="false">http://blog.zenphp.es/?p=109</guid>
		<description><![CDATA[Hagamos un repaso de los vídeos de la sección de documentos.
Toma 1:Validaciones
Después de ver los vídeos de las validaciones

Toma 2: modelo de datos
De como se construye un modelo de datos con su visualizador usando el MVC modificado

Toma 3: Visualizador avanzado:
Avanzamos con el visualizador:[ver]

Toma 4: El scaffolding
y le añadimos un andamio (scaffolding):[ver]

Todo en uno: el generador
Podemos [...]]]></description>
			<content:encoded><![CDATA[<p>Hagamos un repaso de los vídeos de la <a title="Ir a la sección de documentos" href="https://forja.rediris.es/docman/?group_id=252" target="_blank">sección de documentos</a>.</p>
<h4>Toma 1:Validaciones</h4>
<p>Después de ver los vídeos de las <a href="http://www.youtube.com/watch?v=Tm1OmAEUDUU" target="_blank">validaciones</a><br />
<object 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="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/Tm1OmAEUDUU&amp;hl=en" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://www.youtube.com/v/Tm1OmAEUDUU&amp;hl=en" wmode="transparent"></embed></object></p>
<h4>Toma 2: modelo de datos</h4>
<p>De <a href="http://www.youtube.com/watch?v=VbQjaI-I490" target="_blank">como se construye un modelo de datos con su visualizador</a> usando el <a href="http://blog.zenphp.es/?s=patr%C3%B3n+mvc+">MVC modificado</a><br />
<object 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="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/VbQjaI-I490&amp;hl=en" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://www.youtube.com/v/VbQjaI-I490&amp;hl=en" wmode="transparent"></embed></object></p>
<h4>Toma 3: Visualizador avanzado:</h4>
<p>Avanzamos con el visualizador:<a href="http://www.youtube.com/watch?v=0vdOZw6kXI8">[ver]</a><br />
<object 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="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/0vdOZw6kXI8&amp;hl=en" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://www.youtube.com/v/0vdOZw6kXI8&amp;hl=en" wmode="transparent"></embed></object></p>
<h4>Toma 4: El scaffolding</h4>
<p>y le añadimos un andamio (scaffolding):<a href="http://www.youtube.com/watch?v=hWdFSZRtFO4" target="_blank">[ver]</a><br />
<object 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="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/hWdFSZRtFO4&amp;hl=en" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://www.youtube.com/v/hWdFSZRtFO4&amp;hl=en" wmode="transparent"></embed></object></p>
<h4>Todo en uno: el generador</h4>
<p>Podemos ver como el generador de aplicaciones lo hace todo en 15 segundos (o menos <img src='http://blog.zenphp.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )<a href="http://www.youtube.com/watch?v=eYV65MOSDYc" target="_blank">[en acción]</a> realiza nuestro trabajo más rápido que nosotros y nos permite concentrarnos en la parte importante del problema, lo que tenemos que presentar, finalmente.<br />
<object 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="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/eYV65MOSDYc&amp;hl=en" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://www.youtube.com/v/eYV65MOSDYc&amp;hl=en" wmode="transparent"></embed></object><br />
<a href="http://www.youtube.com/watch?v=eYV65MOSDYc" target="_blank">Ir al vídeo</a></p>
<span class="akst_link"><a href="http://blog.zenphp.es/?p=109&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_109"  class="akst_share_link">Compártelo</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://blog.zenphp.es/2008/04/12/generar-el-esqueleto-de-una-aplicacion-web-en-15-segundos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Operaciones automáticas del generador de aplicaciones</title>
		<link>http://blog.zenphp.es/2008/04/08/operaciones-automaticas-del-generador-de-aplicaciones/</link>
		<comments>http://blog.zenphp.es/2008/04/08/operaciones-automaticas-del-generador-de-aplicaciones/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 12:27:12 +0000</pubDate>
		<dc:creator>juaxix</dc:creator>
				<category><![CDATA[Generadores]]></category>
		<category><![CDATA[PHP-Gtk]]></category>
		<category><![CDATA[Progreso]]></category>
		<category><![CDATA[ayudantes]]></category>
		<category><![CDATA[gtk]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[visualizador]]></category>

		<guid isPermaLink="false">http://blog.zenphp.es/?p=102</guid>
		<description><![CDATA[Para construir una aplicación el generador toma una serie de modelos de ficheros necesarios como base para completar la estructura del sistema.
La estructura del generador se puede ver en el siguiente diagrama:

La macro zen_generador_gtk.php lanza la ventana principal (GtkWindow,PHP-GTK2:GtkWindow)  que usa la clase zen_fabrica_gtk para &#8220;fabricar&#8221; todos los componentes de la ventana principal, asociándole [...]]]></description>
			<content:encoded><![CDATA[<p>Para construir una aplicación el generador toma una serie de modelos de ficheros necesarios como base para completar la estructura del sistema.</p>
<p>La estructura del generador se puede ver en el siguiente diagrama:<br />
<a title="Abrir diseño de clases del generador GTK para zenphp" href="https://forja.rediris.es/docman/view.php/252/574/zen_generador_GTK.png" target="_blank"><img style="border: 0;" src="https://forja.rediris.es/docman/view.php/252/574/zen_generador_GTK.png" alt="Diagrama de clases del generador de aplicaciones PHP-GTK2 para zenphp" width="384" height="213" /></a><br />
La macro <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/zen_generador_gtk.php?op=file&amp;rev=0&amp;sc=0" target="_blank">zen_generador_gtk.php</a> lanza la <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_ventana_principal.php?op=file&amp;rev=0&amp;sc=0" target="_blank">ventana principal</a> (<a href="http://library.gnome.org/devel/gtk/2.11/GtkWindow.html" target="_blank">GtkWindow</a>,<a href="http://gtk.php.net/manual/en/gtk.gtkwindow.php" target="_blank">PHP-GTK2:GtkWindow</a>)  que usa la clase <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_fabrica_gtk.php?op=file&amp;rev=0&amp;sc=0" target="_blank">zen_fabrica_gtk</a> para &#8220;fabricar&#8221; todos los componentes de la ventana principal, asociándole los eventos que se agrupan en la clase <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_eventos_ventana_principal.php?op=file&amp;rev=0&amp;sc=0" target="_blank">zen_eventos_ventana_principal</a>, de forma que tenemos siempre un puntero en todas las clases a ésta ventana principal que sirve para localizar cualquier componente,clase o método que necesitemos desde cualquier lugar, asi, se construyen los modelos de las estructuras de datos como las de los árboles con una clase <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_clases_arbol_gtk.php?op=file&amp;rev=0&amp;sc=0" target="_blank">info_configuracion_arbol</a> asociada a la &#8220;fábrica&#8221;, que sólo inciarse, en su constructor lee las definiciones del fichero de configuración XML del generador, y genera los menús en el <a href="http://gtk.php.net/manual/en/gtk.gtkmenubar.php" target="_blank">GtkMenuBar</a> llamado <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_menu_gtk.php?op=file&amp;rev=0&amp;sc=0" target="_blank">zen_menu_gtk</a> existiendo la posibilidad de definir nuestros propios menus de usuario, los eventos se asocian directamente y son &#8220;atrapados&#8221; por medio de la función &#8220;public function evento_menu($nombre) ;&#8221; de la clase <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_eventos_ventana_principal.php?op=file&amp;rev=0&amp;sc=0" target="_blank">zen_eventos_ventana_principal</a>, sólo hemos de añadir nuestro &#8220;caso&#8221; al resto para que se ejecuten las órdenes que necesitemos&#8230;</p>
<p>Queda mencionar la última conexión con la fábrica, que estoy desarrollando, el <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/?rev=0&amp;sc=0" target="_blank">generador GTK</a> se conecta con el <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/?rev=0&amp;sc=0" target="_blank">generador POA</a> para compilar y aplicar los &#8220;aspectos&#8221; en los que se basa, esto es, nuestros modelos y ayudantes definidos en el cartucho, los visualizadores asociados, las bases de datos configuradas en la aplicación,etc. Esto se hace con el <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_generador_poa.php?op=file&amp;rev=0&amp;sc=0" target="_blank">zen_generador_poa</a>, asociado a la <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_fabrica_gtk.php?op=file&amp;rev=0&amp;sc=0" target="_blank">fábrica Gtk</a> de forma que carga el motor de <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/zen.php?op=file&amp;rev=0&amp;sc=0" target="_blank">zenphp</a> y conecta las 3 partes del proyecto a través del paradigma orientado a aspectos. Tras compilar, generar y construir todo el sistema de aplicaciones, se muestra el mensaje de confirmación. Ya se puede copiar el directorio de salida al directorio web y si todo estaba bien definido, probar la aplicación&#8230;</p>
<p>Quizás algo interesante es <a href="https://forja.rediris.es/websvn/wsvn/csl2-zenphp/trunk/zenphp/generador/gtk/clases_gtk/zen_gtk_ventana_mysql_admin.php?op=file&amp;rev=0&amp;sc=0" target="_blank">zen_ventana_mysql_admin</a> , un administrador de bases de datos MySQL, podemos definir en el XML de nuestro cartucho el acceso a varios servidores y mediante la aplicación al hacer doble click sobre dicha línea de configuración conectarremos al servidor especificado para realizar las tareas que consideremos oportunas fácilmente.</p>
<span class="akst_link"><a href="http://blog.zenphp.es/?p=102&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_102"  class="akst_share_link">Compártelo</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://blog.zenphp.es/2008/04/08/operaciones-automaticas-del-generador-de-aplicaciones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nuevos Videotutoriales : MVC modificado y un proyecto de ensayo</title>
		<link>http://blog.zenphp.es/2008/03/27/nuevos-videotutoriales-mvc-modificado-y-un-proyecto-de-ensayo/</link>
		<comments>http://blog.zenphp.es/2008/03/27/nuevos-videotutoriales-mvc-modificado-y-un-proyecto-de-ensayo/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 08:00:19 +0000</pubDate>
		<dc:creator>juaxix</dc:creator>
				<category><![CDATA[Documentación]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[PHP-Gtk]]></category>
		<category><![CDATA[Zen]]></category>
		<category><![CDATA[bases de datos]]></category>
		<category><![CDATA[controladores]]></category>
		<category><![CDATA[modelos]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[videotutoriales]]></category>
		<category><![CDATA[vistas]]></category>
		<category><![CDATA[visualizadores]]></category>
		<category><![CDATA[zenphp]]></category>

		<guid isPermaLink="false">http://blog.zenphp.es/2008/03/27/nuevos-videotutoriales-mvc-modificado-y-un-proyecto-de-ensayo/</guid>
		<description><![CDATA[
Nuevos videotutoriales han sido añadidos a la sección de documentos de la Forja.
En este caso para explicar como funciona el modelo+visualizador junto con la sencillez de añadir un andamio o Scaffolding.
Se añaden junton con un vídeo del generador de aplicaciones Gtk y el inicio de un ensayo científico sobre la meditación.
Compártelo
]]></description>
			<content:encoded><![CDATA[<p><a href="http://picasaweb.google.es/juaxix/Zenphp/photo#5182212177208408706"><img src="http://lh4.google.es/juaxix/R-rqhMU1-oI/AAAAAAAAAWo/v8XsjhS5FFk/s288/video_claketa.jpg" border="0" /></a><br />
Nuevos videotutoriales han sido añadidos a la <a href="https://forja.rediris.es/docman/index.php?group_id=252" title="Documentos : ver sección de videotutoriales" target="_blank">sección de documentos de la Forja</a>.</p>
<p>En este caso para explicar como funciona el <a href="http://www.zenphp.es/videos/modelo.ogg">modelo</a>+<a href="http://www.zenphp.es/videos/visualizador.ogg">visualizador</a> junto con la sencillez de añadir un <a href="http://www.zenphp.es/videos/andamio.ogg">andamio o Scaffolding</a>.</p>
<p>Se añaden junton con un vídeo del generador de aplicaciones <a href="http://www.zenphp.es/videos/generador_mysql_gtk.ogg">Gtk </a>y el inicio de un <a href="https://forja.rediris.es/docman/view.php/252/541/ensayo_cientifico.pdf">ensayo científico sobre la meditación</a>.</p>
<span class="akst_link"><a href="http://blog.zenphp.es/?p=86&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_86"  class="akst_share_link">Compártelo</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://blog.zenphp.es/2008/03/27/nuevos-videotutoriales-mvc-modificado-y-un-proyecto-de-ensayo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalar PHP+GTK2 en Linux</title>
		<link>http://blog.zenphp.es/2008/02/29/instalar-phpgtk2-en-linux/</link>
		<comments>http://blog.zenphp.es/2008/02/29/instalar-phpgtk2-en-linux/#comments</comments>
		<pubDate>Fri, 29 Feb 2008 08:00:49 +0000</pubDate>
		<dc:creator>juaxix</dc:creator>
				<category><![CDATA[Documentación]]></category>
		<category><![CDATA[Librerías]]></category>
		<category><![CDATA[PHP-Gtk]]></category>
		<category><![CDATA[instalar php-gtk2]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://blog.zenphp.es/2008/02/29/instalar-phpgtk2-en-linux/</guid>
		<description><![CDATA[
Descargar todos los paquetes
Primero, descargar todos los siguientes paquetes y ten en cuenta el número de versión.

pkg-config-0.21 &#8211; una herramienta para llevar el control de las banderas de compilación necesarias para las librerías usadas por GTK+ [descargar]
glib-2.12.4 &#8211; es el núcleo de librerías de bajo nivel que construyen las bases de GTK+ y GNOME [download]
libpng-1.2.8 [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li><strong>Descargar todos los paquetes</strong><br />
Primero, descargar todos los siguientes paquetes y ten en cuenta el número de versión.</p>
<ul>
<li type="disc"><a href="http://pkgconfig.freedesktop.org/wiki/">pkg-config-0.21</a> &#8211; una herramienta para llevar el control de las banderas de compilación necesarias para las librerías usadas por GTK+ [<a href="http://pkgconfig.freedesktop.org/releases/">descargar</a>]</li>
<li type="disc"><a href="http://www.gtk.org/">glib-2.12.4</a> &#8211; es el núcleo de librerías de bajo nivel que construyen las bases de GTK+ y GNOME [<a href="ftp://ftp.gtk.org/pub/glib/2.12/">download</a>]</li>
<li type="disc"><a href="http://www.libpng.org/pub/png/libpng.html">libpng-1.2.8</a> &#8211; librería de imagen PNG [<a href="http://prdownloads.sourceforge.net/libpng/libpng-1.2.12.tar.bz2?download">download</a>]<br />
<span class="highlight"><strong>Elige</strong> la versión:  .tar.bz2 que contien <code>configure</code>. Es más fácil de compilar.</span></li>
<li type="disc"><a href="http://freetype.org/">freetype-2.2.1</a> &#8211; un motor de fuentes que provee de una &#8220;API&#8221; simple y fácil de usar para acceder al contenido de una fuente con un método uniforme, independientemente del formato del fichero. Soporta fuentes escalables en formatos como TrueType o &#8220;Type 1&#8243; nativo. [<a href="http://download.savannah.gnu.org/releases/freetype/">download</a>]</li>
<li type="disc"><a href="http://www.fontconfig.org/wiki/">fontconfig-2.4.0</a> &#8211; le da a Pango la estandarización para la localización de fuentes para poder encontrarlas por sus nombres [<a href="http://fontconfig.org/release/">download</a>]</li>
<li type="disc"><a href="http://www.cairographics.org/">cairo-1.2.4</a> &#8211; una librería gráfica que soporta vectorización y composición de imágenes. Tanto Pango como GTK+ usan cairo para gran parte de su dibujado. [<a href="http://cairographics.org/releases/">download</a>]<br />
<span class="highlight"><strong>Atención</strong>: Descarga la versión v1.2.4 (o mayor) directamente de cairographics.org. NO USES la que viene en el ftp ftp://ftp.gtk.org/pub/gtk/v2.10/dependencies/. ¡En mi PC ha causado muchísimos bugs! Encontrarás que gtk+ no te compila si usas cairo-1.2.0. Y el mensaje de error dice que hay un problema con pango, aunque realmente el problema viene de esta versión, cairo-1.2.0 que es la que causa el problema.</span> Además, la v1.2.6. parece que también da algunos errores.</li>
<li type="disc"><a href="http://www.gtk.org/">pango-1.16.4</a> &#8211; una librería para manejar texto internacionalizado [<a href="ftp://ftp.gtk.org/pub/pango/1.16/">download</a>]</li>
<li type="disc"><a href="ftp://ftp.gtk.org/pub/gtk/v2.10/dependencies/">atk-1.9.1</a> &#8211; Herramientas de Accesibilidad [<a href="ftp://ftp.gtk.org/pub/gtk/v2.10/dependencies/">download</a>]</li>
<li type="disc"><a href="http://www.gtk.org/">gtk+-2.10.12</a> &#8211; la base para php-gtk2 [<a href="ftp://ftp.gtk.org/pub/gtk/v2.10/">download</a>]</li>
<li type="disc"><a href="http://www.linuxfromscratch.org/blfs/view/cvs/gnome/libgnomeprint.html">libgnomeprint-2.12.1</a> &#8211; se necesita para gtksourceview [<a href="http://ftp.gnome.org/pub/gnome/sources/libgnomeprint/2.12/libgnomeprint-2.12.1.tar.bz2">download</a>]</li>
<li type="disc"><a href="http://gtksourceview.sourceforge.net/">gtksourceview-1.6.0</a> &#8211; permite que se pueda mostrar código fuente con numeración automática y coloreado de sintaxis (se usa en el generador) [<a href="http://gtksourceview.sourceforge.net/downloads.html">download</a>]</li>
<li type="disc"><a href="http://gtkextra.sourceforge.net/">gtk+extra-2.1.1</a> &#8211; contiene un número de útiles widgets incluyendo: GtkSheet, GtkPlot y GtkDirTree [<a href="http://sourceforge.net/project/showfiles.php?group_id=5462">download</a>]</li>
<li type="disc"><a href="http://www.php.net/">php-5.2.3</a> &#8211; php5 [<a href="http://www.php.net/downloads.php">download</a>]</li>
<li type="disc"><a href="http://dev.mysql.com/downloads/#connector-php">php-mysql</a> &#8211; módulo de MySQL para PHP5 [<a href="http://dev.mysql.com/downloads/connector/php-mysqlnd/">download</a>]</li>
<li type="disc"><a href="http://www.mysql.com/">mysql</a> &#8211; Servidor de base de datos MySQL [<a href="http://dev.mysql.com/downloads/mysql/5.0.html" target="_blank">download</a>]</li>
<li type="disc"><a href="http://gtk.php.net/">php-gtk-2.0.0beta</a> &#8211; php-gtk2 [<a href="http://gtk.php.net/download.php" target="_blank">download</a>]</li>
</ul>
</li>
<li><strong>Librerías de desarrollo de las X-Window</strong><br />
Haz una rápida comprobación de tu configuración y asegúrate de que tienes las librerías de desarrollo de las X instaladas&#8230;</li>
<li id="env_var"><strong>Variables de entorno necesarias</strong><br />
Si estás usando bash, establece las siguientes variables:<br />
<code>CPPFLAGS="-I/usr/local/include"<br />
LDFLAGS="-L/usr/local/lib"<br />
PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"<br />
LD_LIBRARY_PATH="/usr/local/lib"<br />
PATH="/usr/local/bin:$PATH"<br />
export CPPFLAGS LDFLAGS PKG_CONFIG_PATH LD_LIBRARY_PATH PATH</p>
<p></code>Si usas csh o tcsh, añade lo siguiente a tu $HOME/.cshrc<br />
<code>setenv CPPFLAGS "-I/usr/local/include"<br />
setenv LDFLAGS "-L/usr/local/lib"<br />
setenv PKG_CONFIG_PATH "/usr/local/lib/pkgconfig"<br />
setenv LD_LIBRARY_PATH "/usr/local/lib"</code><br />
setenv PATH /usr/local/bin:${PATH}</li>
<li><strong>Compilar GTK+ primero</strong><strong>Atención:</strong> Para todos los paquetes, usa el ./configure por defecto. Los ficheros compilados irán a /usr/local/lib y /usr/local/include.
<p><em><strong>Orden de compilación</strong></em>:</p>
<ol>
<li type="a">Compilar glib-2.12.4<br />
<code>tar xvzf glib-2.12.4.tar.gz<br />
cd glib-2.12.4<br />
./configure<br />
make</code><br />
<code>sudo </code><code>make install</code></li>
<li type="a">Compilar libpng-1.2.12<br />
<code>bunzip2 libpng-1.2.12.tar.bz2<br />
tar xvf libpng-1.2.12.tar<br />
cd libpng-1.2.12<br />
./configure<br />
make</code><br />
<code>sudo </code><code>make install</code></li>
<li type="a">Compilar freetype-2.2.1<br />
<code>tar xvzf freetype-2.2.1.tar.gz<br />
cd freetype-2.2.1<br />
./configure<br />
make</code><br />
<code>sudo</code> <code>make install</code></li>
<li type="a">Compilar fontconfig-2.4.0<br />
<code>tar xvzf fontconfig-2.4.0.tar.gz<br />
cd fontconfig-2.4.0<br />
./configure<br />
make</code><br />
<code>sudo</code> <code>make install</code></li>
<li type="a">Compilar cairo-1.2.4<br />
<code>tar xvzf cairo-1.2.4.tar.gz<br />
cd cairo-1.2.4<br />
./configure<br />
make</code><br />
<code>sudo </code><code>make install</code></li>
<li type="a">Compilar pango-1.16.4<br />
<code>tar xvzf pango-1.16.4.tar.gz<br />
cd pango-1.16.4<br />
./configure<br />
make</code><br />
<code>su </code><em>(entrar como root)</em><br />
<code>make install</code><br />
<strong>Atención</strong><span class="highlight">:</span> Algunos de vosotros encontraréis errores en este punto<span class="highlight">. No preocuparse. Esto es porque necesitas volver como usuario normal (que no administrador), y las <a href="http://www.kksou.com/php-gtk2/Recipes/0066.php#env_var">variables de entorno</a> previamente definidas lo están para la cuenta de usuario,y no para root. Sólo tienes que volver a especificarlas como root y volver  a lanzar <code><br />
make install<br />
</code>&#8220;on more time&#8221; :] Todo debe de funcionar ahora.</span></li>
<li type="a">Compilar atk-1.9.1<br />
<code>bunzip2 atk-1.9.1.tar.bz2<br />
tar xvf atk-1.9.1.tar<br />
cd atk-1.9.1<br />
./configure<br />
make</code><br />
<code>sudo </code><code>make install</code></li>
<li type="a">Compile gtk+-2.10.12<br />
<code>tar xvzf gtk+-2.10.12.tar.gz<br />
cd gtk+-2.10.12<br />
./configure<br />
make</code><br />
<code>su</code><code> </code><em>(entrar como root)</em><br />
<code>make install</code><br />
<strong>Atención</strong><span class="highlight">: Aquí es posible que encontréis otro error, igual que antes,el problema es por las  <a href="http://www.kksou.com/php-gtk2/Recipes/0066.php#env_var">variables de entorno</a> definidas como usuario que también necesitan ser declaradas como root, entonces se puede hacer <code>make install</code> de nuevo, y todo debe de ir bien.</span><br />
Si gtk+ compila ok, debe de haber una <code>gtk-demo</code> en /usr/local/bin. Ahora puedes probar que gtk+-2.10.6 está funcionando si la ejecutas.</li>
</ol>
</li>
<li><strong>Añadir componentes adicionales útiles — GtkSourceView y GtkExtra</strong>GtkSourceView permite visualizar código fuente con coloreado automático así como autonumeración de líneas.
<ul>
<li type="disc">Primero compila libgnomeprint-2.12.1<br />
<code>bunzip libgnomeprint-2.12.1.tar.bz2<br />
tar xvf libgnomeprint-2.12.1.tar<br />
cd libgnomeprint-2.12.1<br />
./configure<br />
make</code><br />
<code>sudo </code><code>make install</code></li>
<li type="disc">Ahora compila gtksourceview-1.6.0<br />
<code>tar xvzf gtksourceview-1.6.0.tar.gz<br />
cd gtksourceview-1.6.0<br />
./configure<br />
make</code><br />
<code>sudo </code><code>make install</code></li>
<li type="disc">Compila gtk+extra-2.1.1<br />
<code>tar xvzf gtk+extra-2.1.1.tar.gz<br />
cd gtk+extra-2.1.1<br />
./configure<br />
make</code><br />
<code>sudo </code><code>make install</code></li>
</ul>
</li>
<li><strong>Compila php-5.2.3</strong>
<ul>
<li type="disc">Primero necesitas compilar php5<br />
<code>tar xvzf php-5.2.3.tar.gz<br />
cd php-5.2.3<br />
./configure --prefix=/usr/local/php-5.2.3 --disable-cgi<br />
make</code><br />
<code>sudo </code><code>make install</code></li>
<li type="disc">Crear php.ini y añadir la extensión de php_gtk2.so:<code>echo extension=php_gtk2.so &gt;&gt; /usr/local/php-5.2.3/lib/php.ini</code><br />
<code>/usr/local/php-5.2.3/bin/php-config --extension-dir | xargs echo 'extension_dir=' &gt;&gt; /usr/local/php-5.2.3/lib/php.ini</code></li>
</ul>
</li>
<li><strong>Compilar php-gtk-2.0.0</strong>
<ul>
<li type="disc">Construir configure<br />
<code>tar xvzf php-gtk-2.0.0beta.tar.gz</code><br />
<code>cd php-gtk-2.0.0</code><br />
<code>./buildconf --with-phpize=/usr/local/php-5.2.3/bin/phpize</code></li>
<li type="disc">Compilar php-gtk2<br />
<strong>Atención:</strong> No olvides usar &#8220;&#8211;enable-sourceview &#8211;enable-gtkextra&#8221; en tu configure para que se incluyan gtksourceview y gtkextra.</p>
<p><code>./configure --prefix=/usr/local/php-gtk-2.01 <span class="highlight">--enable-sourceview</span> --enable-gtkextra --with-php-config=/usr/local/php-5.2.3/bin/php-config<br />
make</code><br />
<code>sudo </code><code>make install</code></li>
</ul>
</li>
</ol>
<p>Para llamar más fácilmente a php-gtk, crea un enlace simbólico al binario:<br />
<code>ln -s /usr/local/php-5.2.3/bin/php /usr/bin/php-gtk2</code></p>
<p>Si tu variable de entorno PATH contiene /usr/bin, puedes ejecutar los scripts PHP usando:<br />
<code>php-gtk2 <em>script.php</em></code></p>
<span class="akst_link"><a href="http://blog.zenphp.es/?p=85&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_85"  class="akst_share_link">Compártelo</a>
</span>]]></content:encoded>
			<wfw:commentRss>http://blog.zenphp.es/2008/02/29/instalar-phpgtk2-en-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
