Transcript
Page 1: 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.

Page 2: PHP-GTK para quem não conhece PHP

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”.

Page 3: PHP-GTK para quem não conhece PHP

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.

Page 4: PHP-GTK para quem não conhece PHP

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.

Page 5: PHP-GTK para quem não conhece PHP

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.

Page 6: PHP-GTK para quem não conhece PHP

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”.

Page 7: PHP-GTK para quem não conhece PHP

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).

Page 8: PHP-GTK para quem não conhece PHP

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.

Page 9: PHP-GTK para quem não conhece 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.

Page 10: PHP-GTK para quem não conhece PHP

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” .

Page 11: PHP-GTK para quem não conhece PHP

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”.

Page 12: PHP-GTK para quem não conhece PHP

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.

Page 13: PHP-GTK para quem não conhece PHP

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.


Top Related