Volvemos con fuerzas para relanzar el Curso de PHP que aún no hemos terminado. Tras semanas sin aparecer, volvemos de nuevo con otra entrega de este curso PHP.
¿Te has perdido los artículos anteriores? Aquí tienes todos recopilados: Curso de PHP Online.
Hoy os 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 :
[php]
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();
?>
[/php]
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.