Archive for Junho, 2008
PHP From Hell
Embarcando nessa onda de posts semanais que uma galera de blogueiros fazem, resolvi criar a seção “PHP From Hell”. Vou tentar – eu disse tentar
– postar alguma coisa dessa seção toda sexta-feira. A idéia é postar dicas de funcionalidades do PHP que pouca gente ( incluindo yo hehehe ) conhece.
Vou começar falando da função extract. Esta função importa elementos de um array associativo para a tabela de símbolos. Trocando em miúdos, os índices do array passam a ser variáveis cujo os valores são os seus correspondentes no array. Basicamente é alguma coisa parecida com o register_globals com câmbio manual
.
Na prática a coisa funciona assim:
$marca = “Ferrari”;
$origem = “Los Cabos”;
$carros_collection = array(“marca”=>”Audi”,”ano”=>”2008″,”modelo”=>”A4″);
$busu_collection = array(“origem”=>”Lapa”,”destino”=>”Liberdade”);
extract($busu_collection, EXTR_SKIP);
echo “<BR/>$marca, $ano, $modelo, $tidoc_marca”;
echo “<BR/>$origem, $destino, $tidoc_origem”;
O resultado vai ser:
Los Cabos, Liberdade
Mais de onde veio $tidoc_marca e onde foi parar o valor Lapa? Simples Padawan … Como você está inserindo elementos na tabela de símbolos, corre o risco de você cagar alguma coisa. Pra que isso não aconteça, você usa o parâmetro extract_type. É esse parâmetro que indica a forma que as colisões serão tratadas. Em nosso exemplo usamos EXTR_PREFIX_ALL e EXTR_SKIP, no primeiro, se já houver uma variável com o mesmo nome do elemento incorporado, o nome da nova variável irá receber o prefixo indicado no terceiro parâmetro. Com EXTR_SKIP, se ocorrer colisões, o novo valor é descartado.
Outras opções são:
EXTR_OVERWRITE, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID, EXTR_IF_EXISTS, EXTR_PREFIX_IF_EXISTS, EXTR_REFS.
Recomendo dar uma lida na documentação: http://www.php.net/manual/pt_BR/function.extract.php
Add comment Junho 27, 2008
Aplicações Desktop com PHP – Parte 1
Que o PHP é uma das linguagens de programação mais usadas em ambiente web, todo mundo sabe. Mas pouca gente sabe que também é possível criar aplicações desktop com ela. E é isso que nós iremos fazer. Para tal, iremos utilizar o PHP-GTK.
O que é GTK/GTK+?
O GTK (Gimp Tool Kit) é uma poderosa biblioteca para desenvolvimento de aplicações GUI multi-plataforma, muito utilizada no mundo linux e que vem ganhando seu espaço também no windows.
PHP-GTK
É linguagem binding que permite aos desenvolvedores PHP criarem aplicações gráficas multi-plataforma sem abrir mão dos recursos do PHP.
Vamos então instalar os trecos \o/
Ingredientes
- PHP-GTK
- Uma caneca com café
Instalação do PHP-GTK no Windows
Baixe aqui http://sourceforge.net/project/downloading.php?groupname=agata&filename=php-gtk2b.exe&use_mirror=ufpr o instalador, execute-o e seja feliz.
Instalação do PHP-GTK no Linux
Baixe aqui http://sourceforge.net/project/downloading.php?groupname=agata&filename=php-gtk2b.tar.gz&use_mirror=ufpr o pacote pré-compilado e siga os passos abaixo:
# mv php-gtk2 /usr/local/
# ln -sf /usr/local/php-gtk2/bin/php /usr/bin/php-gtk2
1,2,3, testando
Para testar crie um novo arquivo chamdo exemplo.php com o código abaixo:
if (!class_exists(‘gtk’)) {
die(“O módulo php-gtk2 não foi carregado corretamente. Verifique seu php.ini.”);
}$wnd = &new GtkWindow();
$wnd->set_title(‘Exemplo’);
$wnd->connect_simple(‘destroy’, array(‘gtk’, ‘main_quit’));$label = &new GtkLabel(“Perdeu preiboy!’”);
$wnd->add($label);
$wnd->show_all();
Gtk::main();
?>
Para executar, vá até a linha de comando e execute:
No Linux
No Windows
É isso ai. No próximo post vamos explorar melhor os recursos do PHP-GTK.
Pra quem quiser saber mais sobre o projeto:
http://www.php-gtk.com.br/
http://gtk.php.net/
Abraços!
Add comment Junho 24, 2008