Blog do André

Blog com opiniões esporádicas sobre temas do meu interesse

Ano novo, hora de mais mudanças no site

Se há coisa que gosto de fazer em programação web é experimentar novas tecnologias. Foi há mais ou menos um ano atrás que mudei o meu site de uma plataforma completamente custom made para algo baseado numa framework. Devido ao meu grande interesse em sistemas minimalistas e abordagem flat file, escolhi a Fat Free Framework.

Foi uma boa aposta em termos de aprendizagem, sem dúvida. Mas após este ano de uso, deparei-me com alguns problemas: a framework em si suporta o Composer, mas não assenta sobre este, ou seja, não existem dependências. À partida, isto pode parecer excelente para alguém que quer um sistema simples. O reverso da moeda é que os autores estão a escrever código para funções que possivelmente já foram implementadas por outras bibliotecas, criadas especificamente para esse propósito. Existe também a vantagem de essas bibliotecas terem uma bateria de testes que as põe à prova para casos mais comuns, ou mesmo de forma exaustiva.

Outro ponto relacionado com as dependências tem a ver com a possibilidade de podermos mudar uma biblioteca para outra implementação da nossa preferência com meia dúzia de configurações. Numa framework como a Fat Free isso pode revelar-se uma tarefa problemática, porque seria necessário alterar código interno da framework (o que dificultaria a atualização para novas versões) ou fazer alguma ginástica para integrar uma biblioteca na framework (e não usá-la de forma ad-hoc, o que acaba por ser uma tarefa bastante simples). Isso leva-nos a outro problema: a falta de um Dependency Injection Container para gerir as diversas componentes da aplicação.

Surgindo assim a necessidade e curiosidade de mudar, resolvi procurar uma nova framework que suportasse estes requisitos: estar assente no Composer, estar escrita de acordo com os PSR (PHP Standard Recomendation) e ter um Dependecy Injection Container. Entre muitas, encontrei a Slim PHP, que apesar de ser mais dedicada a Webservices, deu para desenvolver o site tal como estava e de maneira mais organizada. Não quero com isto dizer que a Slim é melhor que a Fat Free (verdade seja dita, a F3 é ligeiramente mais rápida), mas que cobre melhor as minhas necessidades e permite-me aprender novos paradigmas dentro do desenvolvimento em PHP, que tem ficado muito mais interessante ao longo dos anos.

Até mais!