Agosto 15th 2008

CONAPHP - COngresso NAcional de PHP

O que é o CONAPHP?CONAPHP - COngresso NAcional de PHP
CONAPHP significa COngresso NAcional de PHP. É um grande evento de PHP que consiste em várias palestras de PHP apresentadas por palestrantes nacionais e internacionais reputados.
Quando?
O CONAPHP 2008 vai decorrer nos dias 18 e 19 de Outubro.
Onde?
O CONAPHP 2008 está inserido no CONISLI 2008. O CONISLI é um evento sobre Software Livre muito popular no Brasil que sempre teve a forte presença da comunidade de PHP desde 2005. Este ano a comunidade de PHP do Brasil se empenhou para organizar no CONISLI um grande evento de PHP com o nome CONAPHP.

O CONISLI 2008 terá lugar nas da FIAP - Faculdade de Informática e Administração Paulista - em São Paulo com endereço Av. Lins de Vasconcelos, 1264, bairro Aclimação.

mais informações:
http://www.conaphp.com.br/

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (Nenhuma avaliação ainda)
Loading ... Loading ...

No Comments yet »

Agosto 8th 2008

PHP 4 is dead

Enfim, após a liberação da release 4.4.9, foi oficialmente encerrado o fim do desenvolvimento e suporte a versão 4 do PHP, esta talvez, a versão que mais tenha contribuido com a popularização da linguagem na internet. Para os que ainda não migraram suas aplicações da versão 4 para a 5, talvez este seja um bom motivo para a mudança. A equipe de desenvolvedores do php agora tem seu foco no desenvolvimento da versão 5.3, que provavelmente será lançada no próximo mes de outubro, e para tão aguardada versão 6, sem data oficial para o lançamento.

[]’s

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (Nenhuma avaliação ainda)
Loading ... Loading ...

No Comments yet »

Agosto 8th 2008

Utilização do Zend_Date

Recentemente nosso amigo Israel Agoeiro postou no forum do Zend Framework um tópico sobre a utilização do Zend_Date, o tema é bem interessante, muitas pessoas ainda tem dificuldades e curiosidades quanto a melhor maneira de fazer o tratamento de datas em seus sistemas. Recomendo uma olhada na discução.

http://www.zfbrasil.com/forum/viewtopic.php?f=49&t=74

[]’s

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (Nenhuma avaliação ainda)
Loading ... Loading ...

No Comments yet »

Agosto 1st 2008

PHP Conference 2008 - outras histórias

Pois é, alguns já sabiam outros não (incluindo eu). Acompanhando algumas treads do ProPHP e depois olhando no site fiquei sabendo que o evento PHP Conference Brasil não conta mais com o apoio da comunidade PHP. De certa forma, o fato acaba sendo uma perda para a comunidade, já que o evento conhecido em várias partes mundo. Não entrarei em detalhes sobre tudo que li sobre o assunto, mas o que posso dizer é que a Tempo Real Eventos e o ProPHP tiveram problemas, e que, o evento feito em 2007, acabou queimando o filme da comunidade brasileira com alguns palestrantes internacionais, o que é uma pena.

Após o fato membros do ProPHP estão participando na organização do CONAPHP - Congresso Nacional de PHP. Em seguida posto mais detalhes.

http://www.conaphp.com.br/

[]s

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (Nenhuma avaliação ainda)
Loading ... Loading ...

No Comments yet »

Julho 30th 2008

PHP Conference 2008 - Chamada para os trabalhos

Após algum tempo sem atividades aqui na “blogagem”…PHPConference 2008
Já esta aberta a chamada para os trabalhos para o PHP Conference 2008, o evento será realizado dos dias 27, 28 e 29 de Novembro na UNIFIEO, local onde foi realizado o evento do ano passado. Infelismente ainda não estão abertas as incrições para congressistas.

Para mais informações: http://www.phpconf.com.br/

UNIFIEO
Av. Franz Voegeli, 300 (próximo ao Shopping Continental, Terminal Rodoviário de Osasco e uma loja de Material para Construção chamado Telha Norte)
Vila Yara - Osasco - CEP 06020-190

Abraço a todos.

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (Nenhuma avaliação ainda)
Loading ... Loading ...

No Comments yet »

Março 7th 2008

Criando objetos DateTime a partir de qualquer formato

Devido a reclamações de programadores PHP, sobre as funções strtotime() e date_create() atualmente analisarem apenas string de datas no formato americano, Derick Rethans adicionou uma nova função (date_create_from_format()) e um novo método a classe DateTime (DateTime::createFromFormat()) a release 5.3 do PHP (ainda em desenvolvimento), assim será possível criar objetos do tipo DateTime a partir de outros formatos de data.

O uso é muito simples:

PHP:
  1. <?php
  2. $dt = date_create_from_format( 'd/m/Y', "02/03/2008" );
  3. echo $dt->format( 'd/m/Y' ), "\n";
  4. ?>

O primeiro argumento deverá ser passado o formato da data que é passada no segundo argumento. O retorno será uma instância da classe DateTime, com a data informada no segundo parâmetro da função. Caso o PHP não consiga analisar a data informada a função retornará falsp e será possível recuperar as mensagens de erro a partir do método date_get_last_errors().

PHP:
  1. <?php
  2. $dt = date_create_from_format( 'Y-m-d', "02/03/2008" );
  3. if ( !$dt ) {
  4.       $errors = date_get_last_errors();
  5.       var_dump( $errors['errors']);
  6. }
  7. ?>

fonte: http://www.derickrethans.nl/british_date_format_parsing.php

[]'s

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (Nenhuma avaliação ainda)
Loading ... Loading ...

1 Comment »

Março 3rd 2008

Integração contínua com CruiseControl + phpUnderControl

"Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily, leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly."

Neste post pretendo apresentar algumas ferramentas que facilitam a utilização da Integração Contínua, como prática de desenvolvimento de seus projetos.

CruiseControl

O CruiseControl é uma ferramenta que automatiza o processo de build, provendo várias tarefas que facilitam o controle sobre o código, incluindo uma interface para visualizar os detalhes sobre cada build.

phpUnderControl

O phpUnderControl é um plugin para o CruiseControl que facilita a integração de algumas ferramentas voltadas para projetos PHP: phpDocumentor, PHPUnit, PHP_CodeSniffer.

Continue Reading »

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (1 votos, média: 5 de 5)
Loading ... Loading ...

3 Comments »

Janeiro 15th 2008

Busca no site? Com Zend_Search_Lucene claro!

O Zend_Search_Lucene é uma módulo do Zend Framework que serve para indexar strings, o módulo é baseado no projeto Apache Lucene porém portado para PHP. Com ele é possível indexar o conteúdo de seu site e depois executar consultas baseadas no índice criado.

Nestes ultimos dias andei dando uma olhada no componente, então resolvi postar aqui no blog o exemplo que adaptei da apresentação de Wil Sinclair sobre o módulo do framework.

Não vou explicar detalhes sobre a implementação aqui no blog, sendo que o que fiz foi praticamente um copy e paste do exemplo dado na apresentação, mas aos que tiverem dúvidas, basta comentar aqui no blog ou postar lá no fórum http://www.zfbrasil.com/forum/, posso tentar dar uma ajuda.

Aos que quiserem mais informações a respeito do Zend_Search_Lucene, a uma boa documentação disponível no manual do framework.
http://framework.zend.com/manual/en/zend.search.lucene.html

Obs.: No exemplo que deixei dispoível para download abaixo, a um crawler com a url do meu blog apontada. Peço aos que testarem, que não fiquem executando muitas vezes o script com a url do blog, se não vai acabar estourando a minha cota de tranferência :).

Os arquivos do exemplo : zfsearch.zip

Abraço a todos.

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (1 votos, média: 5 de 5)
Loading ... Loading ...

19 Comments »

Dezembro 17th 2007

Integrando PHPUnit com banco de dados

A partir da versão 3.2.0 o PHPUnit conta com uma extensão para fazer testes utilizando banco de dados, na pratica isto já era possível, mas o PHPUnit não contava com nenhum tipo de ferramenta para abstrair tarefas como: inserir dados para fazer testes, deletar dados apos as rotinas de testes, etc.

O fato e que esta extensão do PHPUnit é uma forma elegante de controlar a dependência entre o banco e sua aplicação.

Obs.: Aos que ainda não estão familiarizados com a utilização do PHPUnit recomendo a leitura destes posts:
http://blog.diegotremper.com/archives/15
http://blog.diegotremper.com/archives/97

Exemplo:
Vamos supor que você queira testar um método de sua aplicação que carregue um determinado registro do banco de dados. A questão é: como garantir que quando eu estiver rodando meu teste, o registro que eu vou tentar carregar para afirmar que meu método esta funcionando corretamente, estará lá?

Como você já deve ter pensado, primeiro teremos que inserir o registro na base de dados antes de executarmos nosso teste, e depois da execução, teremos que deletar o registro para que a base de dados não fique com registros inválidos.

Continue Reading »

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (Nenhuma avaliação ainda)
Loading ... Loading ...

4 Comments »

Dezembro 5th 2007

array X ArrayIterator == cópia X referência

A questão é a seguinte, imagine que você precise imprimmir todos os elementos de um array, qual a solução para isso? use um foreach, óbvio.

Agora vamo imaginar que dentro deste foreach onde você esta imprimindo os elementos de seu array, tenha alguma lógica que pode adicionar ou não mais elementos ao array que você esta iterando no momento. Ex.:

PHP:
  1. $a = array('PHP', 'Java', 'Ruby');
  2.  
  3. foreach ($a as $value) {
  4.   if ($value == 'PHP') {
  5.     $a[] = 'PHP-GTK';
  6.   }
  7.  
  8.   echo $value . "\r\n";
  9. }

Reparem que no exemplo acima a saida final seria:

PHP
Java
Ruby

E o PHP-GTK por que não imprimiu?
Isto acontece porque o PHP faz com que o foreach trabalhe com um 'cópia' do array que você passou como parametro assim quando você adiciona um elemento para o seus array, não irá influenciar na cópia que esta sendo usada pelo foreach.

Esta situação é facilmente resolvida se você utilizar um objeto que implemente a interface Iterator, como o ArrayIterator por exemplo.

Se você passar um objeto do tipo Iterator como parametro para o comando foreach ele não irá criar uma cópia de seu objeto, irá utilizar a referência. Desta maneira é possível garantir que todos os elementos de seu array serão iterados. Ex.:

PHP:
  1. $a = array('PHP', 'Java', 'Ruby');
  2. $a = new ArrayIterator($a);
  3.  
  4. foreach ($a as $value) {
  5.   if ($value == 'PHP') {
  6.     $a[] = 'PHP-GTK';
  7.   }
  8.  
  9.   echo $value . "\r\n";
  10. }

Espero que a informação tenha sido util, infelizmente na documentação do
PHP este tipo de situação não esta "bem documentada". :P

Abraço a todos.

1 Estrela2 Estrela3 Estrela4 Estrela5 Estrela (1 votos, média: 5 de 5)
Loading ... Loading ...

2 Comments »

Next »