Padrões de design para WordPress
Quanto mais você trabalha com uma determinada plataforma, mais você começa a reconhecer certas maneiras de fazer algo. E é muito provável que você comece a reconhecer duas coisas que essas coisas podem ser feitas:
- de uma forma que é rápido de desenvolver, mas mais difícil de manter ou
- de uma forma que é mais lenta para desenvolver, mas mais fácil de manter.
É claro que, como qualquer projeto, requisitos, restrições, orçamentos e tempo vão afetar o que você pode implementar. Mas o que quero dizer é que, independentemente de como você implementa uma solução, você começa a se familiarizar com a forma de resolver um determinado problema.
Se um problema precisa ser resolvido rapidamente, então você conhece as compensações, mas provavelmente sabe como fazê-lo rapidamente. Da mesma forma, se você tiver um pouco mais de tempo (e orçamento), poderá desenvolvê-lo de outra maneira e saberá como fazê-lo e possivelmente até envolvê-lo com suítes de teste, se as restrições permitirem.
Independentemente de como você precisa implementar uma solução, você conhece as maneiras de fazê-lo.
E isso levanta uma questão:
Existem padrões de design específicos para uma determinada plataforma? E se sim, quais são alguns dos padrões de design que podem estar disponíveis no WordPress?
Padrões de design para WordPress
Claro, não estou falando de padrões de design que a Gangue dos Quatro desenvolveu há muitas décadas. Em vez disso, estou falando sobre maneiras de fazer certas coisas no WordPress.
Por exemplo:
- higienizar adequadamente as informações antes de gravá-las no banco de dados (para postagens, taxonomias, metadados e assim por diante),
- lendo dados do banco de dados usando o utilitário de banco de dados do WordPress (ou $wpdb ),
- validar e retornar informações do banco de dados quando solicitado,
- verificando a segurança de uma solicitação Ajax antes de fazer qualquer trabalho,
- configurar corretamente uma consulta personalizada e redefini-la para não interferir no loop principal,
- adicionando ativos específicos da página na área administrativa do WordPress e no site público do WordPress,
- e assim por diante.
Há muitas coisas que poderíamos listar aqui. Mas acho que vale a pena explorar como alguns deles podem ser.
Primeiro, porém, o que são padrões de projeto no sentido clássico?
Um padrão de projeto é a forma reutilizável de uma solução para um problema de projeto. A ideia foi introduzida pelo arquiteto Christopher Alexander e foi adaptada para várias outras disciplinas, principalmente a ciência da computação.
Eu trabalhei no WordPress por tempo suficiente e construí plugins e ferramentas suficientes usando o aplicativo para reconhecer como fazer certas coisas versus criar algo original para cada projeto.
É seguro dizer, então, que existem coisas reutilizáveis que podemos empregar no WordPress para problemas comuns? Claro. Eles precisariam ser generalizados, é claro.
Então eu vou tomar um meio-termo sobre isso, pelo menos por causa do blog. Vou começar uma série que falará sobre os tópicos acima junto com exemplos de código.
Serão artigos curtos, e farei o que puder para garantir que seja fácil de seguir (com comentários e explicações de código) e, quem sabe, talvez isso se transforme em algo mais.
Não estou falando de bibliotecas
Isso não deve ser confundido com bibliotecas. Lembre-se, as bibliotecas são como pequenos softwares que podemos executar independentemente ou podem ser um conjunto de ferramentas ou funcionalidades que podem ser importadas para o seu projeto para adicionar funcionalidades.
Em ciência da computação, uma biblioteca é uma coleção de recursos não voláteis usados por programas de computador, geralmente para desenvolvimento de software. Estes podem incluir dados de configuração, documentação, dados de ajuda, modelos de mensagem, código pré-escrito e sub-rotinas, classes, valores ou especificações de tipo.
Talvez certos padrões específicos do WordPress possam ser incorporados em suas bibliotecas, mas esse não é o objetivo do post.
Em vez disso, estou simplesmente tentando apresentar padrões potenciais e comuns que existem no WordPress.


