Introducción al PHP-Gtk
La programación en PHP-GTK viene de la fusión del lenguaje de script PHP y la libreria de objetos GTK+
La programación en PHP-GTK
viene de la fusión del lenguaje de script PHP
y la librería de objetos GTK+,
el encargado de desarrollar la librería fue Andrei Zmievski. Con esta librería
y junto a la programación sencilla que tiene el
PHP se pueden conseguir aplicaciones
GUI (Graphical User Interfaces) muy interesantes y potentes.
El PHP es un lenguaje de programación
de alto nivel, el cual se esta convirtiendo en un lenguaje de propósito general
al estilo que Perl o Python.
La programación PHP-GTK se basa
totalmente en POO (Programación
Orientada a Objetos), se basa en ella ya que con los widgets con los cuales
se trabaja son clases y se declaran como objetos en el programa. El PHP-GTK
cuenta con muchísimos widgets (componentes) y a su vez esos
widgets con muchísimos signals (eventos). La persona que domina perfectamente
o bastante bien PHP no tendrá
ningún problema para empezar a programar en PHP-GTK,
muchas aplicaciones se basan en la creación de clases propias para generar
los widgets dinámicamente.
El PHP-GTK tiene sus ventajas
y sus desventajas como todo lenguaje de programación. Entre sus ventajas se
encuentran la facilidad con la que se programa, ya que es puro
PHP, a parte de eso, PHP consta de muchísimas librerías externas, la posibilidad de trabajar con
una cantidad grandísima de bases de datos abre la posibilidad a crear aplicaciones
gestoras de estas bases de datos, también gana puntos al ser un lenguaje multiplataforma
y correr sobre las dos plataformas más importantes, Linux y Microsoft.
Una de las desventajas es que al ser un lenguaje interpretado se necesita tener
el interprete de PHP, y esto trae
al alto consumo de las aplicaciones, ya que son imposibles de compilar.
Adentrándonos en lo que nos interesa, PHP-GTK,
empezaremos con los primeros pasos en el lenguaje.
Para poder comenzar deberemos instalar los componentes necesarios, es decir,
el intérprete de PHP, PHP-GTK y
las librerías adicionales que necesitemos. Para ello lo mejor que podemos
hacer es visitar la página oficial de cada lenguaje y seguir los pasos indicados.
Nos deberemos pasar por http://www.php.net/ y gtk.php.net
En nuestros programas PHP-GTK lo primero que se deberá hacer es cargar la librería php_gtk.dll (para window) o (php-gtk.so) para
Linux o Unix de la siguiente manera:
<?php dl(?php_gtk.so?); ?>
Como nuestros programas serán multiplataforma, deremos dar
la opción cargar las dos librerias, por lo cual al insertar nuestra libreria
lo haremos de la siguiente manera:
<?php dl(stristr(PHP_OS, ?WIN?) ? ?php_gtk.dll? : ?php_gtk.so?); ?>
De esta manera veremos previamente el sistema operativo que
utiliza el usuario y a continuación cargaremos la libreria necesaria.
Lo siguiente sería el crear la ventana principal del programa, esto se hace
facilmente con el objeto GtkWindow,
este objeto será el que contendra el resto de widgets de nuestro programa.
<?php dl(stristr (PHP_OS, "WIN") ? "php_gtk.dll" : "php_gtk.so"); function delete_event() { return false; } function cerrar() { Gtk::main_quit(); } function hola() { global $ventana; print "Hola Mundo!\n"; $ventana->cerrar(); } $ventana = &new GtkWindow(); $ventana>connect('destroy', 'cerrar'); $ventana>connect('delete-event', 'delete_event'); $ventana>set_border_width(10); $boton = &new GtkButton('Hello World!'); $boton>connect('clicked', 'hello'); $ventana>add($button); $tt = &new GtkTooltips(); $tt->set_delay(200); $tt->set_tip($button, 'Hola mundo', ''); $tt->enable(); $ventana->show_all(); Gtk::main(); ?>
Este es un simple programa de ejemplo del uso de PHP-GTK.
Una introducción que nos lleva al grano. Suena muy bien esta tecnología y seguramente estaremos revisando algún tutorial en el futuro para ver que podemos hacer con ella.
Me llama mucho la atención que la comparas con python. Conocí ese lenguaje y me llamó la atención por lo fácil que era programar por su simplicidad. Que puedes decir con respecto a php-gtk, también tiene esa simplicidad o es más elaborado?
Y también me interesa saber un poco de requerimientos para utilizar dicha tecnología.
Mas info de PHP-GTK
http://www.forosdelweb.com/forumdisplay.php?s=&forumid=51
BY epplestun
Saludos :arriba:
Muy interesante
es muy bueno pero quiero saber sia hay un api para el php-gtk si saben de alguno agamelo saver ok [email protected]
function hola()
{
global $ventana;
print “Hola Mundo!\n”;
$ventana->cerrar(); < -- aqui es $ventana->destroy();
}
ventana>connect(‘destroy’, ‘cerrar’);
$ventana>connect(‘delete-event’, ‘delete_event’);
$ventana>set_border_width(10);
es:
ventana->connect(‘destroy’, ‘cerrar’);
$ventana->connect(‘delete-event’, ‘delete_event’);
$ventana->set_border_width(10);
$boton>connect(‘clicked’, ‘hello’);
$ventana>add($button);
es:
$boton->connect(‘clicked’, ‘hola’);
$ventana->add($boton);
$tt->set_tip($button, ‘Hola mundo’, ”)
es:
$tt->set_tip($boton, ‘Hola mundo’, ”)
son simples errores, pero personas como yo se pueden confundir ;).. shao desde Mazatlàn Sinaloa
Bienvenidos a USINOS
http://usinos.org
El grupo de Usuarios Sinaloeses de Open Source . Se formó a mediados de Septiembre del 2001, gracias al entusiasmo de algunas personas interesadas en compartir sus experiencias del sistema operativo, así como apoyar su difusión.
Objetivos
Los objetivos del grupo son los de difundir el sistema operativo Linux, promover su uso y enseñanza; así como también apoyar el desarrollo del OpenSource en el país.
USINOS no persigue fin económico alguno, sino, sólo el de servir a la comunidad Open Source de Sinaloa. La participación dentro el grupo esta abierta a todas las personas e instituciones dispuestas a colaborar con los objetivos y fines del grupo.
¿Quienes conforman USINOS ?
USINOS se conforma por los que participan activamente en las actividades del grupo y por los usuarios que participan, básicamente, en las listas de correo.
Existe una coordinación para los USINOS, que puede ser contactada en: [email protected] Para ser miembro de los USINOS, sólo necesitas conocer un poco de Linux, BSD, o algun otro SO de codigo abierto, tener mucho entusiasmo, ganas de trabajar y comprometer parte de tu tiempo para las actividades del grupo.
Encuentranos en servidor IRC: irc.freenode.org
canal #linux-hispano
hola que tal a lo mejor ya lo saben pero a mi costo un poco de tiempo
trataba de correr el ejemplo anterior y al igual que cosme esas omisiones(ya aclaradas) fueron una piedra en el camino, pero fueron boien a provechadas, por que me ayudaron a comprender mas el rollo de phpgtk, el motivo de mi “post” es que el ejemplo asi como esta me mandaba un error al finalizar de correrlo algo de ” modulo de memoria es solo written” algo asi por el estilo
lo que me sacaba de onda y bla bla bla
husmenado por hay encontre un codigo muy igualito, el cual lo ejecutaba
y al final no me mandaba ningun error, lo cual me lllevo a compararlos y lo unico que pienso qu hace la diferencia es qe el ejemplo que no fallaba agregaba el boton a un contenedor (box vertical) y el box a la ventana y tan
tan
aqui esta el codigo yo estoy empezando a usar phpgtk y estoy con PHPGTK2(no se si esto tambien influya ,no lo se)
si a alguine le paso lo mismo y sabe exactamente que era POSTEELO!! no sea
< ?php
if (!class_exists(‘gtk’)) {
if (strtoupper(substr(PHP_OS, 0, 3)) == ‘WIN’)
dl(‘php_gtk.dll’);
else
dl(‘php_gtk.so’);
}
function cerrar()
{
Gtk::main_quit();
}
function hola()
{
global $ventana;
print “Hola Mundo!\n”;
$ventana->destroy();
}
$ventana = &new GtkWindow();
$ventana->connect(‘destroy’,’cerrar’);
$ventana->set_border_width(10);
$boton = &new GtkButton(‘Hello World!’);
$boton->connect(‘clicked’, ‘hola’);
$tt = &new GtkTooltips();
$tt->set_delay(200);
$tt->set_tip($boton, ‘Hola mundo’, ”);
$tt->enable();
$box = &new GtkVBox(false, 10);
$box->set_border_width(10);
$box->pack_start($boton);
$ventana->add($box);
$ventana->show_all();
Gtk::main();
?>
Muy pero muy interesante
Pienso que es necesario adentrarse en este mundo…
bueno e interesante
donde puedo ver una demostracion ya ejecutandose de un programa real de este gtk?
Hola.
He estado buscando la forma de crear aplicaciones con PHP con ventanas.
He escuchado de este PHP-GTK, la verdad aun no he empezado a utilizarlo pero con lo que he conseguido de informacion me parece interesante pero algo complicado para alguien con poco experiencia como yo.
Entre todas esas busquedas encontre un programa llamado WINBINDER, permite crear aplicaciones con ventanas con PHP. Interesante, facil de usar. En la pagina principal de WINBINDER puedes encontrar una comparacion entre PHP-GTK y WINBINDER.
Hola otra vez.
He creado algunas pequeñas aplicaciones con PHP y WINBINDER y todo ha salido bien, funciona casi a la primera.
Lo digo porq aun solo estoy aprendiendo WINBINDER, PHP ya lo he probado como 6 meses y me parece sencillo.
Bueno si en algo puedo ayudar aqui le dejo mi email:
[email protected]
Quisiera saber si me pueden dar una ayudita…
necesito obtener una fecha(SOLO MES Y AÑO) y guardarlo en una base de datos en MySQL
1) Como se obitenen las fechas
2) Que tipo de campo debe ser el campo en MySQL
3) Como se debe enviar a guardar en el MySQL: el formato para enviar…
si pueden ayudarme con eso se los agradeceria infinitamene
Hola donde consigo el php-gtk para windows que funcione, baje el que esta en http://www.gnope.org/downloads/gnopesetup-1.0.exe y me da error cuando busco de instalar, me urge, quiero realizar una aplicacion de escritorio con php..de antemano gracias por la ayuda
mmmm
look …..
David:
existen varias clases ya definida para eso
y funciones nativas de php
sorry 😛 aprete enter a esta cosa mira una de las tantas es getdate(); por ejemplo –
$fecha = getdate();
$mes = $fecha[“month”];
$anho = $fecha[“year”];
$sql = “INSERT INTO `almacenar`.`fechas` (`mes` ,`anho` ,)
VALUES (‘$mes’, ‘$anho’);”;
mysql_query($sql);
Jose Hernandez..
q error especifico??
intenta por instalarlo desde la página oficial
gtk.php.net …
gnope si es bueno.. pero tratad por aí ..
sigue vivo php-gtk, yo pense q nadie mas se interesaba en el proyecto… seria bueno que vayan colaborando para revivir de nuevo el proyecto.
ah! tambien esta una libreria interesante php-qt parece estar buena tambien, aunque aun no la he probado.
*En particular Winbinder es un buen programa he logrado trabajar con él en una version para php 5.3.3, usando controles y demás, con enlace a bd en Sqlite, se le puede usar con poco tamaño:
– php.exe o php-win.exe, php5ts.dll, php.ini
– php_*.dll (5.3.3) que uses en extensiones, php_winbinder.dll
– el código *.php
– opcional: un lanzador (puedes usar el de Remiya u otro) o un *.bat (configurado así: php-win miaplicacion.php), sino podrías usar la consola o asociar la extensión php o phpw con php.exe php-win.exe
Todo ello en una carpeta ¡y listo! ya es portable.
(probaré emularlo con Wine bajo SO-Linux)
*php gtk es mas dificil de comprender pero es multiplataforma,
*php qt es interesante por los controles que veo pero necesita qt y eso lo hace mas grande (muchos MB) según tengo entendido.