Todos conhecem a minha paixão pelo WordPress, e principalmente pelo desenvolvimento programático na plataforma. No entanto, alguns autores não vêm com “bons” olhos esta framework (é, eu considero o WordPress uma framework). Aqui deixo uma provocação importante: porque é que o WordPress é a melhor Framework PHP?
O PHP é uma linguagem de programação de script criada em 1990 e que ganhou imensa notoriedade na explosão pela internet dos sites dinâmicos. Segundo os últimos dados, o PHP é a linguagem que corre mais sites em todo o mundo. E o WordPress é a plataforma mais usada para publicação de conteúdos.
Segundo os core developers do WordPress, a plataforma desde o inicio teve sempre o mesmo objectivo: democratizar a publicação de conteúdos pela web. Assim, qualquer pessoa poderia eventualmente criar um blogue ou um site de conteúdos sem saber uma única linha de programação. Certamente que em 2003 quando a plataforma apareceu ao público pela primeira vez, não havia Facebook nem tão pouco o blogger era conhecido ou tinha as funcionalidades que hoje em dia apresenta. Quem queria ter um site ou publicar os seus artigos, tinha mesmo que pôr mãos-à-obra e aprender HTML, CSS e PHP.
As primeiras versões do WordPress eram muito pouco extensíveis sendo que o seu objectivo primeiro era a de ser usada como plataforma de blog. Muito mudou com as versões da série 3. Neste momento, é possível usar o WordPress como um CMS e criar sites, portais, comunidades, ferramentas para redes internas e empresas. É possível fazer tudo o que se quiser através do WordPress. A sua estrutura modular é única e permite qualquer developer extendê-la rapidamente sem se preocupar com bancos de dados, tabelas, SQL e mesmo segurança.
Considero o WordPress uma framework. Já fiz uma loja online, um CRM, uma plataforma de gestão de projectos apenas usando WordPress.
Porém, em várias conversas que tive, são vários os programadores web que se mostraram “desconfortáveis” em programar para WordPress, principalmente no que toca a criar plugins, uma vez que o método MVC (ou outra variante semelhante) não se encontra presente na plataforma.
É verdade que as classes são o centro da programação na maior parte dos CMSes e Frameworks, tais como o Joomla ou o Synfony, ficando a sua extensibilidade escalada por classes que herdam propriedades e métodos das classes pais. No entanto são vários os problemas que este método de estrutura apresenta:
- classes em PHP dispendem muitos recursos
- o grau da extensibilidade é determinado pelo software pai
- plugins que extendem a mesma classe pai podem entrar em conflito facilmente
A estrutura modular do WordPress permite que qualquer programador possa extender as suas funcionalidades sem ter que se preocupar (muito) com incompatibilidades com outros plugins. Claro que problemas de compatibilidade existem, mas é bem menos frequente e mais facilmente detectável.
Espero que este artigo tenha sido útil.
Um abraço,
Vitor