Instalando o PHP-GTK e o Tulip no Slackware 10.2

Texto mostrando como instalar o PHP-GTK no Slackware 10.2 :-)
A linguagem PHP sempre foi uma linguagem voltada para o desenvolvimento web. Apesar de ser altamente completa, nunca foi uma linguagem utilizada para construção de aplicativos standalone ( os famosos aplicativos que rodam nos computadores de nossos usuários ).

O PHP já se mostrava interessante para a criação de Shell Scripts, que aqui mesmo neste site estão espalhados por todos os lados. Um, foi desenvolvido para criar o arquivo sitemap.xml, para a aplicação Sitemaps do Google. O outro, é utilizado para criar a Barra Brasil, que fica acima no site. Ou seja, se ele podia fazer scripts tão legais, e ainda, criar aplicações web tão completas, porque ele não poderia criar aplicativos standalone.

Um dos problemas era a inexistência do suporte a um Toolkit gráfico. O Python, outra ótima linguagem de script, já possuia o PyGTK, que era uma fusão do Python com a Biblioteca GTK+.

A GTK+ é uma linguagem que tem como objetivo principal a criação de interfaces gráficas. Ou seja, é uma série de recursos para o desenho de janelas e afins em um computador cliente.

Quando o PHP-GTK apareceu, esta lacuna foi preenchida. O PHP possuia agora um toolkit que permitia ao desenvolvedor, utilizando uma linguagem já conhecida, criar aplicativos que podem rodar na máquina do cliente. Ou seja, é possível criar aplicativos para gravar coisas no disco da máquina local, efetuar downloads e outras coisas afins.

Deve ser lembrado, que o PHP-GTK não tem como ser utilizado para desenhar applets, como a linguagem Java. Sua intenção é única e simplesmente desenhar aplicativos standalone, que devem ser executados na máquina do usuário destes programas.

Para utilizar os recursos do PHP-GTK é necessário que o desenvolvedor e o usuário tenham o suporte a mesma em sua máquina. Atualmente, temos um ótimo site sobre o assunto no Brasil, que foi idealizado pelo Pablo DallOglio ( que inclusive tem um livro ótimo sobre PHP-GTK ), e que tem boa documentação sobre o assunto e pacotes pré-compilados par a maioria das distribuições mais utilizadas nas terrinhas tupiniquims :-)

Assim, é só apontar o browser para o site e ir na parte de instalação. Caso você tenha instalado toda as bibliotecas, da série de libs do Slackware, você deve simplesmente instalar as bibliotecas que estão listadas abaixo, caso não tenha feito isto, instale também as bibliotecas libpng e libjpeg. Em geral, a zlib já terá sido instalada, mas vale uma boa olhada na sua instalação para ver se realmente você a instalou.

Assim, você deve baixar as seguintes bibliotecas GD2, libxml, libglade, libpq, GtkScintilla.

Possivelmente, você já deve ter a libglade instalada ( se já programar em GTK e utilizar o Glade ). Mas, o grande problema do PHP-GTK, é que ele não utiliza a libglade-2, que é a oficialmente instalada pelo Slackware. Assim, você deve instalar a libglade constante no site, pois ela é a libglade-1, suporte pelo PHP-GTK.

A série de comandos que você irá efetuar será :

wget http://download.codigolivre.org.br/php-gtk/gd-2.0.1-i386-1.tgz

installpkg gd-2.0.1-i386-1.tgz

wget http://download.codigolivre.org.br/php-gtk/libxml-1.8.17-i386-1.tgz

installpkg libxml-1.8.17-i386-1.tgz

wget http://download.codigolivre.org.br/php-gtk/libglade-0.17-i386-1.tgz

installpkg libglade-0.17-i386-1.tgz

wget http://download.codigolivre.org.br/php-gtk/libpq-20040511-i386-1.tgz

installpkg libpq-20040511-i386-1.tgz

wget http://download.codigolivre.org.br/php-gtk/GtkScintilla-0.8.2-i386-1.tgz

installpkg GtkScintilla-0.8.2-i386-1.tgz

Logo após, baixe e instale o PHP-GTK, pacote pré-compilado disponível no site.

wget http://download.codigolivre.org.br/php-gtk/php-gtk-1.0.0-i386-1.tgz

installpkg php-gtk-1.0.0-i386-1.tgz

Bom, a partir deste momento, você já tem o PHP-GTK instalado. Mas como Murphy sempre trabalha contra nós, ele não vai permitir que algo funcione de primeira.

Bom, baixe a aplicação Consulta CEP, que é um programa exemplo que está disponível no site para download. Você irá baixá-lo , descompactá-lo e rodá-lo com os seguintes comandos :

wget http://www.php-gtk.org.br/components/cep.zip

unzip cep.zip

cd cep

php cep.php

Você vai receber o seguinte aviso no shell.

PHP Warning: dl(): Unable to load dynamic library ‘/usr/lib/php/extensions/php_gtk.so’ - /usr/lib/php/extensions/php_gtk.so: cannot open shared object file: No such file or directory in /home/ataliba/Desktop/cep/cep.php on line 2 PHP Fatal error: Class mensagem: Cannot inherit from undefined class gtkdialog in /home/ataliba/Desktop/cep/class/mensagem.class on line 2

Este aviso na realidade lhe diz que a biblioteca PHP-GTK não foi encontrada no diretório /usr/lib/php/extensions .

Prestando atenção na instalação que fizemos do pacote php-gtk, ele nos avisa da seguinte coisa : a biblioteca php_gtk.so, foi instalada no diretório /usr/local/lib/php/extensions/no-debug-non-zts-20020429 .

Assim, para resolver o problema, é só criar um link simbólico com a seguinte série de comandos :

cd /usr/lib/php/extensions/

ln -s /usr/local/lib/php/extensions/no-debug-non-zts-20020429/php_gtk.so

Para testar se tudo está funcionando :

cd cep

php cep.php

Se a aplicação rodou sem problemas, seu PHP-GTK já está instalado.

Uma boa dica para conhecer o poder do PHP-GTK é utilizar o editor de PHP TULIP, que foi feito em PHP-GTK. Vale a pena conhecer.

Para instalá-lo, é fácil. Aponte seu navegador para o site oficial do Tulip e baixe a última versão ( quando foi feito este artigo a versão mais atual do Tulip era a tulip-0.7.zip ).

Para instalá-lo, é indicado que você faça a instalação do Tulip ou no diretório /opt ou no /usr/local. Por preferência pessoal, sempre coloco os programas no diretório /usr/local.

Assim, a série de comandos a ser digitado no prompt para que o Tulip possa ser utilizado é :

mv tulip-0.7.zip /usr/local

unzip tulip-0.7.zip

chmod 777 tulip -Rf

cd tulip

Para testar se tudo está funcionando :

php tulip.php

Um problema encontrado durante a utilização do Tulip, é que o mesmo pede a execução do seu diretório. Ou seja, se você não executar um cd diretório do Tulip e depois executá-lo, ele não irá carregar as figuras e assim, a interface do mesmo não ficará muito bonita.

Para resolver este problema, acabei utilizando um script shell, que resolveu muito bem o problema. Baixe-o aqui.

Para instalá-lo, siga as seguintes instruções :

mv tulip.sh /usr/bin/tulip

chmod 755 /usr/bin/tulip

A partir daí, no shell, digite tulip e o programa será executado. E agora é só usar sua criatividade e não esquecer de compartilhar suas experiências com outros desenvolvedores :-)