Bruno Lustosa Pereira [email protected] PEAR Calendar Uma API para a construção de calendários PHP Conference Brasil 2006-12-02 - São Paulo PEAR Calendar O repositório PEAR ● ● ● ● O PEAR é um repositório de componentes reutilizáveis feitos em PHP. O repositório possui componentes para os mais diversos fins. Ex: Autenticação, email, BD, imagens, etc. Componentes devem seguir rigorosos padrões de codificação, garantindo a qualidade do código. Existe um sistema de bug tracking no site do PEAR, facilitando o processo de correção de erros. PEAR Calendar Instalação do componente ● ● ● O componente pode ser baixado diretamente do repositório, em http://pear.php.net/ Instalação simples, só é preciso ter a base do PEAR instalada. A documentação do componente é boa, e o pacote já vem com diversos exemplos. PEAR Calendar O que é o componente ● ● ● ● ● Construção de calendários como estruturas de dados. Componente provê somente a estrutura, sem se preocupar com a saída dos dados. Alta granularidade: possível criar objetos para representar períodos desde um segundo até um ano. Navegação pelo calendário bem simples usando um iterador. Decorador facilita a inclusão de novas funcionalidades. PEAR Calendar Principais vantagens ● ● ● ● PEAR: Código de boa qualidade, e bem testado. Desenvolvedor não se preocupa com a construção do calendário, e sim com o objetivo final do sistema. Atualizações e correções feitas pelos mantenedores do componente. A geração é facilmente encapsulada em uma classe, podendo-se usar um sistema de templates (como o Smarty) para a saída em HTML. PEAR Calendar Decoradores ● ● ● Mecanismo para adicionar funcionalidade ao calendário sem precisar estender a classe. Pacote já provê alguns decoradores úteis. Ex: geração de URLs para "anterior" e "próximo", transformação do número do dia ou mês em nome. Criação de novos decoradores é simples. PEAR Calendar Exemplos de calendários ● Alguns dos exemplos a seguir foram retirados diretamente da documentação, e outros de aplicações desenvolvidas por mim. PEAR Calendar Calendário anual ● ● Interface para permitir que o hotel marque as datas onde a agência não pode fazer reservas. Código para o calendário muito simples, com a saída via Smarty. PEAR Calendar Calendário mensal PEAR Calendar Agenda diária ● ● Exemplo do próprio pacote. Mostra a agenda do dia. PEAR Calendar Mais informações ● ● http://www.lustosa.net/ - Site pessoal, com os slides e alguns calendários de exemplo. http://pear.php.net/package/Calendar - Site do componente no repositório PEAR.