Download - PHP-GTK para quem não conhece PHP
PHP-GTK para quem não conhece PHP José Augusto F. Franco
Antes de inicarmos o tema principal deste manual, é importante abordar duas temáticas em separado, até porque o
PHP-GTK nasceu , não da fusão , mas sim da criação de uma extensão que permite à linguagem de programação
PHP, criar aplicações gráficas que funcionam do lado do cliente, ou seja, funcionam no computador do utilizador.
Se é a primeira vez que está a entrar em contacto com uma linguagem de programação , este livro é dotado de um
glossário no final, onde encontra descrições detalhadas de algum dos termos que possam parecer-lhe demasiado
técnicos. Os restantes chavões técnicos são explicados em detalhe ao logo de cada capítulo, de forma a permitir
uma melhor compreensão sobre a matéria a abordar a cada momento.
O que é o PHP ?
O PHP, é uma linguagem web bastante poderosa, conhecida pela sua facilidade em criar aplicações dinâmicas que
correm ao lado do servidor. Possui suporte à maioria de base de dados conhecido, como Access, Sqlite, Mysql,
Postgres, entre muitas outras.
Com ela é possível desenhar imagens, gerar pdf, criar web services, orientar a objectos, criar SOAP, XML,
embeber facilmente outras linguagens, como Java e até criar, API´s bastantes poderosos, e além do mais é open
source.
Por vezes, porém torna-se necessário, desenvolver aplicações que não dependam do servidor, mas possuam um
ambiente gráfico, onde o utilizador possa interagir por meio de botões, listas, painéis e janelas, sem que sejam
necessariamente um navegador.
Até à pouco tempo, esta lacuna era bem presente no php, pois os programadores que desejavam criar aplicações
tipo “ stand alone” para funcionar em client-side tinham de recorrer a outras linguagens, tais como o c++, c#,
phyton, delphi, vb….etc.
Esta forma pouco peculiar de programar, tem bastantes desvantagens, pois o programador tem de aprender uma
linguagem totalmente nova, que em nada tem a ver com o php e em projectos futuros a criação de api´s que
funcionassem em conjunto com o servidor seria um processo moroso, ou até impensável.
Como uma resposta, a forma encontrada para solucionar esta lacuna, foi a adição de uma extenção que permite
criar aplicações mutiplataforma em ambiente gráfico, vulgarmente conhecidas por GUI´s - do inglês Graphical
User Interface.
Este módulo não é mais que uma classe toolkit escrita em C; baseada inteiramente no GIMP, cujas
funcionalidades, foram adicionadas ao php, por Andrei Zmievski como forma de extensão, originado o PHP-GTK.
Como autodidacta que sou , prefiro muitas vezes à medida que leio os manuais , praticar em paralelo a técnica
para assim a interiorizar melhor. Foi assim que me especializei em PHP, e o mesmo no PHP-GTK. Assim sendo,
estou seguro que para quem vai ler este manual , terá mais facilidade em compreender aquilo que escrevemos se
forem praticando com alguns exemplos.
Para estarmos aptos a fazer isso , numa primeira fase iremos precisar de obter um pequeno software , que
instalará o servidor, com a capacidade de intrepretar código PHP, dos nossos exemplos.
PHP-GTK para quem não conhece PHP José Augusto F. Franco
Instalação do servidor PHP+Apache+Mysql no Windows
O software que iremos instalar em seguida , permitirá fazer ligações a uma base de dados , por exemplo, bem como
suportar uma site web a funcionar em pleno. O objectivo não é criar um qualquer sitio web, mas sim , o de
compreender de como a sintaxe PHP é formada, e onde colocar os ficheiros para que os nossos exemplos funcionem
como pretendido.
Vamos então baixar a aplicação para o nosso computador.
1º passo)
Aceda ao site http://www.wampserver.com/en/ , e já no sitio do software Wamp, clique em Download
2º passo)
De acordo com a versão do seu sistema operativo, baixe o mais adequado.
As versões mais recentes do Widnows trabalham a 64 bits. Poderá obter essa informação clicando com o botão
direito do rato sobre “O meu computador”, clicando seguidamente em Propriedades , obtendo a informação na área
indicada “Tipo de sistema”.
PHP-GTK para quem não conhece PHP José Augusto F. Franco
Por baixo da seção do download, encontra informações sobre as versões dos diferentes softwares intergrados no
Wamp. Neste caso por exemplo estaremos a usar a versão 5.3.13 do PHP.
Ao tentar fazer o download, poderá ser mostrada uma pequena janela informando os requesitos necessários , para
que o Wamp funcione devidamente:
Repare que para que o WampServer vá funcionar correctamente, o autor alerta na janela acima , que deveremos ter
instalado o Visual C++ 2010 SP1, no meu caso a versão a 64 bits.
O endereço para o baixar o Visual C++, aparace junto ao aviso do autor logo abaixo.
É ainda referido que não podemos instalar o WampServer em cima de versões anteriores, bem como não devemos
importar componente de versões antigas para a nova versão, pois o funcionamento do servidor revelar-se-á instável.
Para baixar o software clique no texto “you can download it directly”, e aguarde alguns segundos até o software
fique disponível no seu computador.
Execute o ficheiro executável até que a janela abaixo seguinte seja mostrada. Repare que o instalador continua a
apresentar as versões dos softwares incluídos no WampServer. No meu caso , estando agora num computador a
funcionar a 32 bits, as versões são diferentes da aplicação que baixamos a 64 bits.
PHP-GTK para quem não conhece PHP José Augusto F. Franco
Continue com a instalação, clicando no botão “Next”. No passo seguinte marque “I accept the agreement”, e neste
momento vamos verificar o directório de instalação. É recomendável que use o directório que é apresentado por defeito,
ou seja, neste exemplo C:\wamp .
Na opção seguinte marque a opção de criar um
atalho no Ambiente de Trabalho por exemplo, para
poder iniciar rapidamente o servidor. Finalmente
clique em “Install” para que o software seja
instalado.
PHP-GTK para quem não conhece PHP José Augusto F. Franco
Antes da instalação ficar completa deverá indicar o directório do
seu navegador de internet que deseja usar para visualizar o
restado da codificação PHP. Já adiante iremos testar um pequeno
exemplo.
Dê ainda permissão ao Apache, na opção marcada por defeito,
para que este não seja bloqueado pela Firewall.
Ainda irá encontrar a opção de indicar o seu email, para
que seja possível criar aplicações PHP que enviam email
a partir do seu computador, usando o protocolo SMTP.
Chique “Terminate” e deixe a opção “Launch
application”
Repare que foi criado um ícone na barra de ícones (Trayicon). Deverá visualizar a
passagem na cor do ícone de laranja a verde, o que significa que o servidor e os
serviços foram iniciados e estão a ser executados com sucesso.
Clicando com o rato sobre o ícone poderá visualizar uma pequena janela com as
opções disponíveis para o servidor, como executá-lo, pará-lo ou reiniciá-lo.
Ao clicar em “localhost” será aberto o seu navegador de Internet seleccionado
durante a instalação, e listados os ficheiros contidos no chamado servidor local
(localhost). Esses ficheiros listados encontram-se no directório “www”. Poderá
atalhar rapidamente a eles clicando “www directory”.
Poderá também a partir daqui operar sobre os serviços Apache, PHP e Mysql .
O servidor acompanha uma aplicação webbased , para operar sobre base de dados a
operar sobre o serviço Mysql. Chama-se phpMyAdmin e é uma ferramenta bastante simples e fácil de usar , que irá facilitar
a tarefa de criação e operar sobre a base de dados e as tabelas nela contidas.
PHP-GTK para quem não conhece PHP José Augusto F. Franco
Acesso ao ficheiro de configuração php.ini
Acompanha ainda a ferramenta também webbased, webGrind, uma aplicação que permite corrigir bugs e aumentar a
performance do código escrito com PHP.
Primeiro exemplo com PHP
Como já foi referido antes, o objectivo deste manual não é ensinar ninguém a programar em PHP. No entanto quem não
sabe PHP, mas tem já umas luzes de linguagens de programação, irá entender facilmente os exemplos descritos ao longo
deste percurso de leitura.
Para aprender tudo e mais alguma coisa sobre PHP, recomendo um bom manual que entre em detalhe sobre todos os
conceitos. Existem muitos à venda na Internet. No nosso caso iremos apenas preocupar-nos por compreender todos os
exemplos expostos no livro. Não será difícil com certeza.
Para entender a flexibilidade de qualquer linguagem de programação, este primeiro exemplo será escrito no Notepad,
existente em qualquer sistema Windows.
No ficheiro notepad ao lado temos uma codificação cujo resultado é apenas o de
imprimir no navegador a frase “Olá mundo!”.
Repare que qualquer aplicação escrita com PHP , deve possuir os marcadores
<?php , que diz ao servidor onde começa a codificação PHP , e ?> onde esse troço
de código termina.
Tudo o que estiver dentro desses marcadores deve obedecer à sintaxe própria
da linguagem PHP, caso contrário ocorrerão erros, que serão mostrados no
navegador se a directiva error_reporting estiver activa no ficheiro de
configuração php.ini, ou então seja informado no próprio código PHP.
Para testar o resultado do código acima , proceda da seguinte forma; dentro do
directório www , crie uma nova pasta e chame-lhe por exemplo, “testes” e
dentro dela grave ficheiro com o nome index.php. Neste momento já podemos
executar o nosso código. Basta clicar em localhost, pelo Trayicon, ou escrever
http//localhost directamente no seu navegador.
Será apresentada a página com o
aspecto abaixo. A nossa pasta está
localizada na secção “Your Projects”,
em português, “Os seus projectos”.
PHP-GTK para quem não conhece PHP José Augusto F. Franco
Para executar o código no ficheiro index.php basta clicar sobre a pasta testes, e será visualizado no navegar o resultado.
Isto porque gravámos o ficheiro com o nome de execução
por defeito, ou seja index.php. Se de outro modo tivéssemos
gravado o ficheiro com o nome exemplo1.php, a execução
não seria automática. Ou escreveríamos a localização
completa no navegador,
“http://localhost/testes/exemplo1.php”, ou teríamos de
clicar nesse ficheiro, na secção “Your Projects”.
Como pudémos constatar, o Notepad serve perfeitamente para escrever codificação PHP, mas em aplicações de maior
complexidade, não é de todo a melhor forma de o fazer. Para essa finalidade existem aplicações concebidas para efeito,
como é o caso do Adobe Dreamweaver, um editor profissional, que permite a integração com o servidor, fazer o code
hinting (troços de código a cores diferentes, de forma a identificar mais facilmente o tipo, se se trata de funções , classes
etc), e o papel de debuger , visualizando erros de sintaxe e seleccionando-os em tempo real.
Não iremos abordar a instalação o Abobe Dreamweaver passo a passo, uma vez que é muito fácil fazer o procedimento.
Tenha em mente que é necessário possuir um registo prévio para que o download seja bem-sucedido. A Adobe usa neste
momento o conceito de aplicação a funcionar em nuvem. Por esse motivo terá de instalar primeiramente o Creative Cloud,
disponível para download neste endereço; https://creative.adobe.com/products/creative-cloud.
Durante a instalação poderá ocorrer um erro estranho, como o seguinte:
A solução passa por instalar o Adobe Application Manager (AAM),
no seguinte endereço:
PC: http://download.adobe.com/pub/adobe/creativesuite/cs/win/ApplicationMa nager7.0_all.exe
MAC: http://download.adobe.com/pub/adobe/creativesuite/cs/mac/ApplicationMa nager7.0_all.dmg
.
O AAM irá actualizar automaticamente para o Adobe Cloud(AC).
PHP-GTK para quem não conhece PHP José Augusto F. Franco
Após a instalação e actualização deste, abrimos o AC, clicando no separador Apps para
baixar o Dreamweaver carregue no botão “Avaliar”.
Aguardar até que a aplicação seja instalada, até à finalização da barra de progresso.
Agora já temos à disposição todas as ferramentas para programar com extrema
facilidade e agilidade.
Abrindo o Dreamweaver clicamos em Arquivo > Novo escolha como Tipo de Página , PHP.
PHP-GTK para quem não conhece PHP José Augusto F. Franco
Vamos alterar a visualização para a área de código,
Veremos a estrutura básica de uma página HTML, totalmente em branco.
A flexibilidade do PHP permite codificar páginas web e embeber o PHP junto com a linguagem de marcação HTML.
Aproveitando o HTML criado automaticamente pelo Dreamweaver, vamos codificar um novo exemplo (script), e
colocando-o junto com o código HTML.
PHP-GTK para quem não conhece PHP José Augusto F. Franco
Exemplo 1: PHP embutido no HTML
O exemplo acima cria o ficheiro chamado membros.txt, e nela grava na primeira linha os dados “Onidesk TI”.
Tipo Descrição
$fp armazena o recurso de manipulação sobre o ficheiro
fopen Aponta ao ficheiro indicado pelo nome. http://www.php.net/manual/pt_BR/function.fopen.php
fwrite Escreve o conteúdo no ficheiro. http://php.net/manual/pt_BR/function.fwrite.php
fclose Fecha o manipulador indicado por $fp http://www.php.net/manual/pt_BR/function.fclose.php
Grave a página como exemplo1.php, numa pasta criada previamente e a que chamaremos de cap1. Chame a página no seu
navegador, da seguinte forma:
http://localhost/cp1/exemplo1.php
Verifique se o ficheiro membros.txt foi gerado, e se nele foi escrito o texto “Onidesk TI” .
PHP-GTK para quem não conhece PHP José Augusto F. Franco Exercício prático nº1 :
O IP (Internet Protocol), é uma espécie de bilhete de identidade na internet que identifica um utilizador ao visitar uma
página de um sitio web.
Aproveitando o exemplo acima, vamos agora criar algo mais complicado. No exemplo seguinte iremos criar um ficheiro
que vai armazenar os visitantes a uma determinada página na Internet. Iremos ainda prever que um determinado
utilizador só é registado uma única vez, mesmo que seja dado refresh na página.
Resolução:
O primeiro passo será indicar no código uma forma de captar um determinado utilizador que chega à página. O PHP possui
algumas funções e variáveis para obter informações do servidor em execução e das informações de quem interage com as
páginas. O array $_SERVER (http://php.net/manual/pt_BR/reserved.variables.server.php) , permite responder a esta
necessidade. $_SERVER[‘REMOTE_ADDR’] é a forma mais adequada de identificar e obter o IP do utilizador que está a
visualizar a página.
Assim teríamos:
Com o código acima estamos a obter o IP do utilizador que está a visitar a página num dado momento.
Repare que usámos a variável $ip_utiliz para guardar o ip , podendo usar essa variável ao logo do código , ou como no
exemplo , imprimir o conteúdo da variável. A essa técnica de ir acompanhando o que se passa ao longo do código , dá-se o
nome de debug.
As frases a laranja no código são comentários.
Resultado do teste no navegador:
O ip 127.0.0.1 corresponde ao ip da máquina local onde eu estou a trabalhar e é usado para fazermos aquilo a que se
chama loopback, que mais não é que “falarmos” com o nosso computador. Na prática permite uma interface IP no próprio
servidor, independente da restante configuração da rede existente.
O mesmo código a funcionar num domínio online teria um resultado diferente, obtendo um “IP real”.
PHP-GTK para quem não conhece PHP José Augusto F. Franco
FUNÇÕES NO PHP
Obter um IP de um utilizador é extremamente útil e podemos sentir necessidade de o fazer ao longo do nosso código
várias vezes. Para não termos de reescrever o código várias vezes, sempre que necessitarmos; podemos criar funções, que
armazenam uma determinada funcionalidade e obtemos resultado esperado sempre que invocadas. Para exemplificar
vamos criar uma função simples que permite obter o IP de um determinado utilizador.
Vamos deste modo usar algumas funcionalidades do array $_SERVER
Tipo Descrição
$_SERVER[‘REMOTE_ADDR’ ] Armazena o IP do utilizador actual, lendo do servidor
$_SERVER[‘HTTP_X_FORWARDED_FOR’ ] Armazena o IP de origem através do cabeçalho HTTP
$_SERVER[‘HTTP_CLIENT_IP ‘] Armazena o IP de origem através do cabeçalho HTTP
Como numa boa parte das linguagens de programação, o escopo de uma função é criado usando o tipo de dados function,
como por exemplo:
function Obtem_IP( ) {
}
Vamos seguir de inícios as boas práticas de programação. Criamos então um novo ficheiro PHP , e gravamos numa pasta ,
a que chamamos “funcoes”, gravando lá o ficheiro como o nome obter_ip.php.
Usando as funcionalidades anteriores para
obtenção criamos a função ao lado.
A expressão return devolve o resultado
conseguindo ao longo da função e
armazenado na variável $ip.
Repare ainda na particularidade anotada nos
comentários.
A função stlen avalia o comprimento da
variável $ip, como o resultado de strlen é
um número inteiro iremos avaliar se o
comprimento é zero, o que significa que o ip
não foi obtido naquela expressão avaliada.
De notar que neste momento apenas declarámos a função. Ela não está a ser invocada, e muito menos a ser executada.
Para o fazer teríamos de declarar a função em qualquer parte do nosso código.
PHP-GTK para quem não conhece PHP José Augusto F. Franco
Agora sim, a nossa função passou a ser chamada, mas ainda não podemos visualizar o resultado de nada porque , não
existe nada a ser impresso . Para o fazer faríamos:
O resultado, testando localmente será , o mesmo que anterior, como esperado.