O PHP sempre me surpreende com funções nativas, principalmente manipulação de arrays :)
Para conhecer sempre mais funções e sair do aperto, o Funcaday pode ajudar.
Funcaday é um site que permite explorar uma função a cada dia. Consiste em um calendário de funções PHP, e a cada dia uma função diferente é apresentada.
Os novatos podem aprender funções novas e os veteranos relembrar aquelas já esquecidas.
Um dica legal é assinar o feed e acompanhar as atualizações.
sábado, 15 de dezembro de 2007
Qual será a Função de hoje?
sábado, 10 de novembro de 2007
PHP Now! - Evento de PHP no Rio
Acontece em Petrópolis o PHP Now!, workshop organizado pelo LNCC - Laboratório Nacional de Computação Científica, instituto do Ministério da Ciência e Tecnologia, juntamente com a Calepino (empresa de desenvolvimento Web), com apoio do Sebrae, da Fundação Parque de Alta Tecnologia - Funpat e do Movimento Petrópolis-Tecnópolis.
A programação será composta de assuntos como:
- Aplicações desktop com PHP-GTK
- PHP e Flex
- Criação de gráficos dinâmicos
- Integração PHP + Java
- Segurança em PHP
- Web 2.0
- E muito mais
Data e horário:
- 24 de novembro de 2007, sábado, das 8h às 18h.
Local:
- LNCC - Av. Getúlio Vargas, 333 - Quitandinha - Petrópolis - RJ
Investimento (inclui subsídio a almoço no restaurante do LNCC):
- R$ 20,00
mais informações visite o site http://www.calepino.com/phpnow/
terça-feira, 6 de novembro de 2007
Usando Selenium e PHP para testes de aceitação automatizados
Este é um guia rápido para você utilizar o Selenium e o SimpleTest em testes de aceitação automatizados.
Selenium é uma ferramenta para testar aplicações web pelo navegador de forma automatizada, exatamente como o usuário faria.
SimpleTest é uma ferramenta para estrutura de testes unitários automáticos, seguindo o padrão XUnit.
Suponho que você já tenha instalado um servidor WEB com PHP e PEAR rodando. Além de ter uma JRE configurada.
Vamos começar instalando o Selenium
Baixe o Selenium Remote Control no endereço http://www.openqa.org/selenium-rc/ e o descompacte.
Terá uma pasta selenium-server-0.9.2 (esta é a versão que peguei), eu a copiei próxima da raiz, mas você pode deixar aonde quiser.
O selenium-server.jar é o nosso principal arquivo, ele é que interpreta os comandos e aciona o navegador.
Para acionar o servidor basta usar o comando java -jar selenium-server.jar
no prompt de comando.
Uma dica importante:
Ao iniciar o servidor pela primeira vez irá aparecer à janela do Firewall do Windows, perguntando se deseja manter o aplicativo bloqueado, permita o acesso. Caso tenha escolhido outra opção, encerre o java/javaw.exe no Gerenciador de Arquivos do Windows e inicie o selenium-server novamente e desse vez permita o acesso.
Beleza, agora que o selenium já está funcionado você pode testa-lo pelo prompt mesmo, encerre com Ctrl+C
e inicie novamente agora em modo interativo com java -jar selenium-server.jar -interactive
. O modo interativo permite que você envie comandos a serem interpretados pelo navegador.
Inicia uma sessão de navegador do Firefox, se preferir Internet Explorer use “iexplore”.cmd=getNewBrowserSession&1=*firefox&2=http://www.google.com
O prompt retorna a sessão em que o selenium vai conversar com o navegador. No meu caso 260113, substitua as chamadas daqui para frente pelo nº que aparecer aqui.Got result: OK,260113 on session 260113
Abre o navegador com o endereço indicado.cmd=open&1=http://www.google.com/webhp&sessionId=260113
Escreve a frase ola mundo na caixa de texto.cmd=type&1=q&2=ola mundo&sessionId=260113
Clica no botão de pesquisacmd=click&1=btnG&sessionId=260113
Pega o título da páginacmd=getTitle&sessionId=260113
O resultado é o titulo da página Got result: OK,ola mundo - Google Search on session 260113
Encerra a sessão e fecha o navegadorcmd=testComplete&sessionId=260113
Durante a execução dos comandos você pode reparar que uma janela do navegador é aberta e obedece aos comandos do servidor.
Nessa hora você me pergunta:
Ótimo, posso fazer o que fazia no navegador por meio de uma programinha e checar os resultados!!! Mas não tem um jeito mais fácil de fazer isso?
Claro que sim, vamos usar o selenium-cliente PHP e o SimpleTest para isso.
Copie a pasta selenium-php-client-driver-0.9.2 para o seu diretório www. Lá está o cliente selenium para php. Já temos um servidor para atender aos testes e agora mão a obra.
Corrija os caminhos do require_once antes de testar. Se precisar use a função set_include_path.
require_once"simpletest/simpletest.php";
require_once"simpletest/autorun.php";
require_once "Testing/Selenium.php";
class GoogleTest extends UnitTestCase{
private $selenium;
/**
* Metodo é executado antes de cada teste.
* Testing_Selenium e inicia a sessão.
*/
public function setUp(){
$this->selenium = new Testing_Selenium("*firefox", "http://www.google.com");
$this->selenium->start();
}
/**
* Metodo é executado após a execução de cada teste.
* Encerra a sessão.
*/
public function tearDown(){
$this->selenium->stop();
}
/**
* Testa uma busca no google.
* É aberto o navegador.
* Escreve a frase ola mundo na caixa de texto.
* Clica no botão de pesquisa.
* Aguarda o carregamento ou 10s.
* testa se o padrão /ola mundo/ está no titulo da página.
*/
public function testGoogle(){
$this->selenium->open("/");
$this->selenium->type("q", "ola mundo");
$this->selenium->click("btnG");
$this->selenium->waitForPageToLoad(10000);
$this->assertPattern("/ola mundo/",$this->selenium->getTitle());
}
}
?>
domingo, 14 de outubro de 2007
Web Developer não funciona no firefox 2.0.0.7
Reinstalando meu FireFox e os plugins tive uma surpresa. O Web Developer do site oficial do FireFox não funciona na minha versão. Aparece a seguinte mensagem:
Tive que baixar direto do site do Chris Dederick, o mantenedor do plugin. Ficar sem o Web Developer, Jamais!!!
sexta-feira, 5 de outubro de 2007
Persistencia com Junction PHP
Visitando minhas galerias de CSS encontrei um site bem interessante e não foi o layout que me chamou atenção. Foi o Junction PHP.
Junction é a cola entre sua aplicação e o banco de dados.Com essa frase Junction PHP resume seu papel na aplicação. Escrito em PHP 5 se baseia no conceito popular do Hibernate, mapeamento objeto-relacional via XML.
Como requisito nossas classes teem que ser POJO (POPO fica muito feio) ou seja, construtor padrão e métodos getX e setX para cada propriedade mapeada.
Considerei a documentação razoável, existe uma página para o desenvolvedor com wiki que ainda está muito vazia e o tratamento de erros está muito básico.
Agora podemos contar com mais essa opção de camada de persistência de objetos em PHP 5.
sábado, 22 de setembro de 2007
PDT > PHP Development Tools
Lançado o release 1.0 do PDT . Para quem não sabe, O PDT é o projeto para um framework de desenvolvimento sobre o Eclipse.
Pelo que pude testar, aquele bando de botões das versões anteriores sumiu :)
Brincadeiras a parte o autocomplete está bem melhor e leva em consideração os comentários PHPDoc e herança entre as classes. Já funções básicas do Eclipse como Rename não funcionam.
Como uma release 1.0 encontramos alguns problemas de performace de uso de memória e trafego de rede, segundo o Uncreative. Trabalhando local não reparei esses problemas.
Quem trabalha com ZEND Studio (como eu) pode testar essa nova opção de IDE com produtividade muito semelhante.
Será que teremos uma alternativa free ao ZEND Studio com a mesma produtividade?
http://www.zend.com/pdt/
domingo, 22 de julho de 2007
OnPHP: Framework PHP com Design Patterns e documentação UML
O OnPHP conta com diversas classes que tratam de validação de datas, acesso ao banco de dados, XML etc, baseadas em diversos design patterns.
Atenção na documentação e nos diagramas das classes UML. Nunca tinha visto um projeto PHP tão bem documentado. Ele se torna uma ótima fonte de pesquisa sobre programação orientada a objeto (POO) e Padrões de Projeto (design patterns).
Postado por
Raphael de Almeida
às
00:58
1 comentários