Publicado em Uncategorized

PHP, PEAR e um Portal

Hoje foi a primeira vez que usei um instalador de pacotes para o PHP. Ele é chamado de PEAR, um acrônimo para PHP Extension and Application Repository. O site cita-o como um framework e sistema de distribuição de componentes PHP reusáveis. Acostumado a esse tipo de ferramenta, foi muito bom saber que PHP possui uma. Bom, antes de voltar a tratar do PEAR vamos saber porque cheguei até ele.

Umas das coisas que faço no trabalho é manter um portal em PHP. Quando cheguei, havia alguns pequenos e simples sistemas para gerenciar o portal. Um para cadastrar conteúdos, outro para notícias e um para comunicados e notas, além do cadastro de mensagens do dia. Cada sistema era uma ilha. Fiquei satisfeito por saber que o conteúdo das páginas estavam no banco. Facilitou e muito as mudanças que fiz na estrutura do portal.

O processo para mostrar a mensagem do dia na inicialização das máquinas dos usuários era muito trabalhoso. O conteúdo das mensagens ficavam num banco, mas não havia um sistema com editor WYSIWYG como nas outras aplicações. Isso fazia com que eu tivesse de escrever uma página HTML e depois jogar seu conteúdo no banco de dados, que aliás, era um SGBD diferente das demais aplicações.

Foi então que resolvi usar o sistema de comunicados e notas para colocar minhas mensagens do dia. Demos adeus ao banco das mensagens e passamos a usar somente o MySQL (ou outro era o SQLServer).

Com uma grande ajuda de um colega de trabalho, o Hudson, integramos (digo assim mas foi ele sozinho praticamente) os sistemas de notícias, comunicados (com isso as mensagens do dia) e as notas em flash (chamadas que apontam para notícias, comunicados ou que queiramos).

O pobre no sistema de conteúdo do portal (além de outras coisas) é o fato de que ele possui somente um usuário. Não mais que isso. Ou seja, somente um webmaster poderia utilizá-lo. Aqui precisaríamos claramente de um CMS. No início propus usarmos um, mas sofreu resistência. Deixei de mão e tratei de melhorar pelo menos o que já existia.

Não demorou muito até alguém de alguma unidade do órgão querer o poder de modificar suas próprias páginas. Teria de mexer no sistema. Nesse período, já tinha feito os sistemas para cadastro de enquetes e outro para cadastro de eventos. Criei então uma tabela de usuários para os dois sistemas (os então existentes tinham cada um sua própria tabela de usuários). Logo previ que o sistema de conteúdo passaria a utilizar essa tabela também.

Antes de cuidar do sistema de conteúdo apareceu a necessidade de criar um sistema para o acervo bibliográfico. Ótima chance para eu mudar muitas coisas de verdade. Eu usar uma arquitetura MVC. Bem verdade, era uma framework que desejava. Nesse momento já pensei em não pegar nada complicado. Nenhuma dessas famosas e monstruosas frameworks MVC, como Simphony ou CakePHP. Sabia que iria perder muito tempo estudando-as. Fui direto no Google em busca de uma implementação simples de framework MVC. Encontrei a miniframework de Elton Minetto.

Era o que eu estava procurando. Simples mesmo. Mas foi aí que eu dei de cara com as classes de PHP5. E que confusão! O atordoamento que senti foi como se estivesse pela primeira vez sofrendo o choque do paradigma. PHP tem suas nuances que me confunde. Mas deixa estar, afinal havia ali a chance de usar Orientação a Objetos.

A miniframework me deu as bases para o sistema de controle de acesso integrado e o acervo bibliográfico. Considerei o código entendível e isso era bom. Atualmente, já tenho quase toda a lógica de negócios do Acervo implementa, no entanto, nenhuma validação de campos de formulários. Eu gostaria de uma forma de tratar esse asunto de modo organizado. Nesse momento passei a procurar por algum framework ou sistema de validação de formulários. Não tive muito proveito em minhas buscas. Nada muito satisfatório.

O Hudson havia citado em uma oportunidade o PEAR. Encontrei seu site, pesquisei no mesmo e notei alguns projetos interessantes para o que eu queria. Baixei na minha máquina virtual (um clone do servidor Debian onde está o portal) via aptitude o php-pear. Baixei um dos projetos para a validação de formulários – depois cito seu nome – e passo agora a testá-lo.

Os leitores já passam a perceber que o que era simples começa a agregar componentes e ficar mais complexo. Muitos pensariam: então porque não usar um CakePHP da vida desde o início? Simples. Estou conhecendo a linguagem ainda e principalmente porque assim coloco o que preciso aos poucos, sempre tendo a oportunidade de escolher uma ou outra solução.

Agora meu desenvolvimento passou a ser divertido. Entendem o que quero dizer?

Anúncios

Um comentário em “PHP, PEAR e um Portal

  1. Opa. Legal que o framework foi útil para vc
    Eu transformei ele em um projeto do sourceforge que vc pode encontrar em slimphp.sourceforge.net
    E agora já tem um processo de validação de campos de formulário. Tudo automático. Ele lê a tabela e verifica os campos antes de usar o update ou o insert. Ainda não está 100% mas estou usando ele. Tmb já tenho pronto algo que chamei de CrudGenerator que gera alguns códigos (tipo o bake do CakePHP)e uma classe para gerar relatórios em PDF. Ainda não coloquei estas duas novas características no site mas posso te mandar se quiser.
    t+

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s