Ads 468x60px

Perfil

miércoles, 13 de noviembre de 2013

Librerías interesantes PHP-GTK

Hoy traemos una biblioteca que más que útil, es curiosa. Sí, curiosa, y es porque esta librería nos va a permitir construir interfaces gráficas con PHP, cosa que no es muy habitual en este lenguaje.
Realmente, la utilidad real de la librería, a priori no es que sea muy grande, y más teniendo lenguajes de programación donde se pueden crear interfaces de forma muy sencilla, pero seguro que alguien le da un uso bastante elevado a este php-gtk.
Lo primero que debemos hacer es instalar nuestra librería en Linux:
Simplemente introduciremos estos comandos en la consola:
Descargamos el source desde este enlace y lo descomprimimos donde queramos.
Una vez tengamos la carpeta descomprimida, nos movemos a ella (por consola).
Y por último una vez dentro seguimos los pasos (comandos) que nos indica el fichero INSTALL:
./buildconf
./configure
make
make install
Una vez hecho ésto, si no ha dado errores, deberemos añadir la extensión al php.ini. El fichero debéis buscarlo vosotros porque según la distribución e incluso la versión de la misma puede variar.
En la parte de extensiones del fichero, añadimos:
extension=php_gtk2.so
Una vez hecho esto, si tenéis todas las librerías extras que necesita php-gtk (cosa que es normal tener), debería funcionar.
Nota: Si os da algún error podéis pedir ayuda y os intentaremos solucionar el problema lo mejor que podamos, o podéis acudir a Google que hay bastante información sobre errores con esta librería.
Ahora vamos a ver la instalación en Windows:
Instalando Gnope , tenemos todo solucionado:
http://sourceforge.net/projects/gnope/
Una vez instalado vamos a probar si funciona haciendo uso del ejemplo que viene en la ayuda de PHP para esta librería.
Creamos un nuevo archivo .PHP y escribimos el siguiente código :
set_title('Our PHP-GTK window');
$window->connect_simple('destroy', array('gtk', 'main_quit'));
$label1 = new GtkLabel("Hello world!");
$window->add($label1);
$window->show_all();
Gtk::main();
?>
Y lo ejecutamos en la consola php nombredelfichero.php, si todo sale bien aparecerá una ventana , sino, un mensaje de error en la consola que nos indicará que el módulo php-gtk2 no está cargado ( “Please load the php-gtk2 module in your php.ini”)
Ahora vamos a explicar las partes del código que puedan resultar confusas:
$window = new GtkWindow();
$window->set_title('Our PHP-GTK window');
$window->connect_simple('destroy', array('gtk', 'main_quit'));
Esta porción de código sin duda puede resultar la mas difícil de comprender, así que vamos a hablar de ella un poco.
  • La primera línea es simplemente la instanciación de la clase GtkWindow() mediante la llamada al un constructor.
  • La segunda línea usa el método set_title para añadir un título a a la ventana.
  • La tercera línea es un método de la clase que debe ponerse siempre y se usa básicamente para conseguir un cerrado “limpio” de las aplicaciones.
El resto de código hasta el GTL::main(); es repetir lo mismo, sólo que con otros elementos, en este caso con labels(etiquetas), se crean, se les da un título o texto y se añaden a la ventana principal.
Cuando está todo añadido se muestra por pantalla.
Y al final, la última línea de código inicia el bucle principal (algo así como un bucle de eventos) que toda interfaz gráfica (moderna) debería tener.

0 comentarios: