Back-End

12 jan, 2011

Boas práticas para o desenvolvimento de plugins WordPress – Evitando erros

Publicidade

Graças às boas práticas adotadas por alguns desenvolvedores de plugins WordPress, podemos hoje desfrutar de aplicações fantásticas criadas a
partir da API de plugins do WordPress. Um plugin WordPress incrementa novas funcionalidades ou estende as já existentes. Para que isso seja possível, o desenvolvedor precisa conhecer a API dos plugins WordPress e conhecer algumas dessas boas práticas adotadas por grandes desenvolvedores.

Hoje vamos conhecer algumas boas práticas no desenvolvimento de plugins WordPress para evitar erros. Nos próximos artigos, falaremos sobre boas
práticas para performance, padronização, segurança, entre outras.

Evite conflitos entre nomes de funções

Com funcionalidades parecidas, plugins WordPress podem conflitar seus nomes de funções e ocorrer erros de duplicidade: “Fatal error: Cannot
redeclare…”. Uma forma simples de resolver e uma boa prática a aplicar é sempre colocar prefixos relacionados ao nome de seu plugin nos nomes
das funções.

/*
Plugin Name: iMasters Anything
Plugin URI: http:/imasters.com.br
Description: This is not just a plugin...
Author: Daniel Antunes
Version: 1.5.1
Author URI: http://danieldeveloper.com
*/

function imasters_anything_get_users()
{
//...
}

Programe Orientado a Objetos

Com POO (Programação Orientada a Objetos), deixamos de lado de uma vez por todas os erros de conflitos entre nomes de funções citados acima. Um
plugin orientado a objetos pode conter seus métodos com os nomes que achar necessário sem se preocupar com as outras funções ou com os métodos usados no WordPress ou em outros plugins.

O uso de POO em plugins WordPress também nos permite o poder do encapsulamento, que é esconder os atributos de uma classe, dando mais
integridade às informações e aos processos executados dentro do plugin, usando as palavras-chave: Public, Private e Protected.

  • Public – Propriedades e métodos públicos. Todos podem acessar.
  • Private – Propriedades e métodos privados, que só podem ser acessados internamente na classe.
  • Protected – Propriedades e métodos protegidos. Só podem ser acessados a partir de classes estendidas, filhas.

Outro ponto forte é a Herança, que preserva a reutilização de código como foco principal da POO e garante aos nossos plugins WordPress mais robustez e flexibilidade.

/*
Plugin Name: iMasters Anything
Plugin URI: https://imasters.com.br/
Description: This is not just a plugin...
Author: Daniel Antunes
Version: 1.5.1
Author URI: http://danieldeveloper.com
*/

class iMasters_Anything {

private $_capability = 'manage_imasters';

public function __construct()
{
add_action( 'admin_menu', array( &$this, 'menu' ) );
}

public function menu()
{
add_menu_page( 'iMasters', 'iMasters', $this->_capability, 'imasters-anything.php' );
}

}

Nem todos os servidores são iguais

Uma boa prática para desenvolvedores PHP em geral é nunca usar as short-tags do PHP: <? ?>. Nem todos os servidores as suportam e seu plugin pode não funcionar.

Outra é quando nosso plugin faz requisições através de uma URL a alguma API externa e precisa usar a URL. Verifique se seu servidor suporta esta biblioteca para conexão e comunicação com diversos tipos de protocolos.

Preocupe-se com as diferenças entre servidores, o público-alvo de seus plugins e os padrões a serem adotados, se são maioria ou minoria. Exiba informações caso algum módulo no servidor não esteja habilitado e indique caminhos para torná-lo possível.

Atenção para as versões anteriores do WordPress

Ao adicionar novas funcionalidades a nossos plugins, devemos nos preocupar com as versões anteriores do WordPress. Ao utilizar uma nova funcionalidade do 3.0 por exemplo, seu plugin perderá ou não dará mais suporte às versões anteriores. Sendo assim, como uma boa prática, você,
desenvolvedor, deve criar uma forma com que isso não gere um erro e que seu plugin continue funcionando mesmo em versões anteriores.

Um ponto importante é não deixar que as versões anteriores atrapalhem ou interfiram na aplicação de suas ideias no desenvolvimento de plugins
WordPress. Um plugin, ao ser criado hoje, é recomendável dar suporte à versão atual e à uma anterior. Voltar a versões muito antigas pode atrapalhar sua ideia e ainda não te dar retorno algum.

Verifique a versão do PHP instalado no servidor

Se preocupar com a versão do PHP usada pelo usuário do plugin é muito importante para se evitar erros. Se o plugin for desenvolvido para toda a
comunidade, esse é um item que deve ser estudado com calma e, dependendo da versão do PHP usada para o desenvolvimento, deve-se comunicar aos usuários antes do download e do uso do plugin. Outra solução também é, ao ativar o plugin, verificar a versão do PHP e não deixar ativar caso a
versão não seja compatível.

Caso seu plugin esteja sendo desenvolvido para um cliente específico, verifique junto a ele sobre a versão do PHP usada em seu servidor e
outros módulos que sejam necessários para o seu perfeito funcionamento.

Você pode verificar as mudanças na versão 5 do PHP e como migrar do PHP 4 para o 5, direto da documentação do PHP, e saber a partir de qual versão uma determinada função está ativa.

E aí? O que achou dessas recomendações? Deixe sua opinião e sua sugestão para que possamos desenvolver sempre plugins de qualidade.

Uma boa semana a todos!