por Alan Knowles alan_k@php.net (traduzido por Antônio Carlos Venâncio Júnior floripa@php.net)

Esta foi mais uma semana cheia no mundo PEAR, com dois novos lançamentos estáveis e 5 beta, além de discussões interessantes sobre parsers SQL, builders e erros, padrões, PEAR na distribuição Linux PLD, muitas novas contribuições e 3 propostas para novos pacotes


Novos Releases

Estável

PHPUnit: um framwork para engenharia reversa, Net_SMTP que provê uma interface simples para o protocolo SMTP (Mail Transport).

Desenvolvimento

Net_Dime, o qual suporta o padrão Internet para o Direct Internet Message Encapsulation, suporte ao SOAP para o protocolo SOAP e pacotes; DBA - provê uma interface baseada em classes para banco de dados no estilo DBM (e pode emulé-lo com arquivos); PEAR_Frontend_Web que fornece uma interface web para o instalador do PEAR; e um DB_DataObject, o qual é um SQL builder e Data Modeling Layer.

Tráfego na lista PEAR-DEV

DB::Sybase - Erros do Sybase

Antônio Carlos Venâncio Júnior apareceu como voluntário para ajudar a completar as mensagens de erro no backend do Sybase

DBA - o DB Wrapper e SQL Parser de Berkley

Brent Cook está acabando a camada de interface DBA (Berkley DB) que inclue várias ferramentas para fazer com que arquivos DBA pareçam um pouco mais com bancos de dados SQL. Como parte disto ele tem construído um parser SQL bem compreensível que pode acabar tornando-se util no futuro para outros fins (note que este pacote era originalmente chamado de DB_DBA) ...

SQL Builders e Novas Funcionalidades no PEAR::DB

Algumas pessoas perguntaram sobre construtores SQL ou adicionar mais funcionalidades ao PEAR::DB como getMany, que é similar a classe de abstração de banco de dados do Python. Foi dito que o PEAR::DB já possui o método autoExecute que pode ser usado para construir consultas de arrays e como uma alternativa o pacote DB_DataObject também poderia resolver este problema de construção de SQL. Nasceram interesses sobre o crescimento de funcionalidades do PEAR::DB principal e que alguns métodos como o getMany poderiam ser melhor lidados num 'PEAR::DB extendido'

Zend Engine 2 e Erros

Poucas coisas apareceram sobre a mudança devido ao PHP 5 e o Zend Engine 2, a nova cath throw error reporting w a nova palavra reservada 'delete'. Stig tem testado o ZE2 e o novo raiseError parece que será simplificado consideravelmente. Sebastian Bergmann começou a pensar em adicionar assertSame() para o PHP_Unit_Assert, o qual suporta comparações com objetos apenas no ZE2. Com relação ao delete, foi notificado que ambos o DBA e o DB_DataObject usam métodos delete e isto poderia ocasionar problemas no PHP 5. Bent mudou o método delete para removê-lo no DBA. Enquanto isto, Alan começou uma breve discussão com Andi para ver se o delete poderia ser permitido como um método de classe e recebeu uma resposta favorável, ficando pendende uma decisão final quando Andi voltar de suas férias.

Agradecimentos às pessoas por contribuir com correções diversas e avisar sobre bugs

Dan Allen, James Flemmer, Paul Cooper, Marco Wittwer e Yavor Shahpsov

Notícias Semanais - Publicações e Traduções

Alexander Merz tem traduzido as notícias semanais para o Alemão. Se você estiver interessado em perder uma hora por semana para traduzir (e/ou interpretar) os acontecimentos na comunidade PEAR para outros idiomas, por favor, mande uma mensagem para a lista pear-dev. O agendamento é que o último rascunho da versão em inglês do PWN deve estar completo na sexta-feira e a maioria das traduções devem estar prontas na segunda ou terça da próxima semana. Anúncios serão postados na segunda. Novamente, sugestões sobre onde postar os anúncios são bem-vindos.

Distribuições PLD do Linux incluem o PEAR

A distribuição PLD do Linux (http://www.pld.org.pl) distribuirá pacotes do PEAR como RPMS. Stig lembrou que o gerenciador de pacotes do PEAR foi projetado para se encaixar em outros sistemas e que eventualmente existirão apenas 3 pacotes principais "empacotados" com o código fonte do PHP. Os pacotes restantes serão instalados atráves do instalador do PEAR

Caminhos Absolutos x Caminhos Relativos

Lukas Smith apareceu com a idéia de usar "dirname(__FILE__) . '/filename.php' ao invés do atual "package/filename.php' em sentenças include e require. Apenas uma pessoa concordou com isto, entretanto Lucas notou depois que isto poderia causar dificuldades se o gerenciador de pacotes quisesse fazer qualquer definição automática de dependência. Foi percebido que muitas pessoas nem sempre usam os pacotes do PEAR do diretório de instalação padrão, mas colocavam-no em um sub-diretório de suas aplicações e modificavam o include_path usando init_set().

Licenças e Codificação

Brent Cook postou um artigo interessante sobre porque ele escolheu usar o LGPL ao invés da Licença PHP para seu pacote. Tal artigo é uma análise interessante. Numa discussão relacionada ao mesmo assunto foi perguntado se o PEAR poderia ser distribuído como um arquivo codificado (por exemplo, como o compilador bytecode do Zend) ou similar. Todas as atuais licenças permitem este tipo de distribuição (arquivos do PEAR não-modificados e codificados).

XML_RPC e Camadas de Transporte Anexáveis do SOAP

James Flemmer contribuiu com um patch para o XML_RPC para permitir anexar camadas de transporte - permitindo transporte por http, https, socket UNIX e carrier pigeon. Shane Caraveo sugeriu coordenar um esforço para o módulo SOPA para que eles possam compartilhar camadas de transporte.

Padronizando Fechamento de Conexões

Alexander Merz sugeriu padronizar os nomes dos métodos de conexão e desconexão que lidam com abertura e fechamento de coneões ao invés da atual mistura de quit, close, open, etc. Esta sugestão foi bem aceita.

Pacotes Propostos:

Autenticação de Usuários e Gerenciamento de Camadas de Controle de Acesso

Markus Wolff propôs "pearificar" suas classes de gerenciamento de usuários e ACL e adicioná-las ao PEAR; e ele estava interessado no feedback.

Template_Flexy - Mais uma Classe de Template

Alan (sim o autor da PWN) sugeriu adicionar sua classe Template_Flexy ao PEAR. Ele recebeu ao menos um sinal positivo. A classe oferece uma API muito simples, misturada a uma classe focada num mecanismo de template baseado no SimpleTemplate.

PECL - smbc - Um Módulo C para Acesso via Clientes Samba

Jelmer Vernooik anunciou seu módulo C que permite ao PHP fazer chamadas usando a biblioteca do cliente do Samba (Rede Windows)

Desenvolvimento

Alterações nesta semana no CVS incluem: DBA, Net_Dime, SOAP, DB, PEAR, PECL::SOAP, Mail_Mime, HTML_QuickForm, File_Password, Date, MDB, XML_CSSML, PHP_Unit, Net_SMTP e PEAR_Frontend_Web

Documentação

A documentação do DB_DataObject foi adicionada ao manual.