5 dicas para desenvolvedores WordPress usarem prefixos e namespaces

Se você for um desenvolvedor WordPress, pode ter se deparado com um problema em que seu código não será executado porque mais de uma função compartilha o mesmo nome. Isso é conhecido como “colisão de nomes” e pode ser um problema difícil de corrigir. Prefixos e namespaces podem ser a resposta.

Os namespaces e prefixos ajudam a evitar conflitos quando duas classes ou funções diferentes compartilham o mesmo nome. Considerando o número de desenvolvedores contribuindo para plugins, temas e core do WordPress, este problema é importante para o qual você deve ter uma solução em mãos.

Neste artigo, apresentaremos os conceitos de namespaces e prefixos e explicaremos por que eles são importantes. Em seguida, daremos cinco dicas para ajudá-lo a obter o máximo deles. Vamos mergulhar!

Introdução aos namespaces e prefixos

O namespace é um recurso PHP projetado para evitar conflitos quando duas classes ou funções têm o mesmo nome. Isso é conhecido como “colisão de nomes” e impede a execução do código.

Você pode pensar em namespaces como pastas em um sistema de arquivos. Você pode ter dois arquivos com o mesmo nome e tudo funciona bem, desde que você os mantenha em pastas separadas. Porém, assim que eles estão na mesma pasta (namespace), surgem problemas.

No mundo do WordPress, ‘namespace’ pode significar duas coisas diferentes. Existe a versão integrada em PHP nativamente, que explicamos acima. No entanto, quando o WordPress foi originalmente desenvolvido, o PHP não suportava o recurso de namespace, então os usuários tinham que encontrar outra maneira de obter o mesmo efeito.

O que eles criaram é chamado de “prefixação”. Esta é uma convenção do WordPress em que os desenvolvedores colocam um prefixo antes do nome de uma função ou classe. Por exemplo, você pode usar torque_user em vez de apenas do utilizador. O ideal é que cada instância da classe ‘usuário’ seja prefixada dessa forma, para que não haja conflito quando um plugin, tema ou núcleo também incorpora do utilizador classe.

Leia Também:  Como criar um link curto no WordPress (a maneira mais fácil)

Os namespaces e prefixos são mais úteis quando seu código irá interagir com o código escrito por outros desenvolvedores (pense em plug-ins ou temas do WordPress). No entanto, é uma boa prática usá-los mesmo que não seja o caso, pois isso elimina a possibilidade de colisões de nomes no futuro.

5 dicas para desenvolvedores WordPress usarem prefixos e namespaces

Se você deseja implementar namespaces e prefixos em seu código (e deve), temos algumas dicas úteis. Essas cinco práticas recomendadas devem ajudá-lo a obter o máximo desse recurso essencial.

1. Abrace o futuro e use namespaces PHP em vez de prefixos

Embora o prefixo funcione bem tecnicamente, ele tem suas desvantagens. O principal problema é que isso pode tornar seu código mais difícil de ler, porque a primeira coisa que você (ou outros desenvolvedores) vêem é o prefixo, em vez da função ou classe real que está sendo usada.

O uso de namespaces PHP permite que você tenha funções e classes claras em seu código, portanto, é imediatamente óbvio o que são e o que fazem. Isso é especialmente útil quando outros trabalharão com seu código, como desenvolvedores de plug-ins.

Também torna a escrita do código um pouco mais fácil, pois você só precisa escrever a função ou o nome da classe, em vez de um nome prefixado. Tudo ajuda, e usar namespaces é um bom hábito de desenvolvimento para ajudar a preparar seu código para o futuro.

2. Crie uma convenção de nomenclatura padrão para seus namespaces

Não existe um padrão oficial sobre como criar e nomear seus namespaces. No entanto, criar seu próprio sistema ajudará a garantir consistência e clareza em todos os seus projetos.

Manter todos os seus namespaces com a mesma convenção de nomenclatura torna mais fácil reconhecer e lembrar qual deles corresponde a qual projeto. Uma maneira fácil de organizar o seu é com o nome de uma empresa ou fornecedor e, em seguida, com sub-namespaces para cada projeto.

Leia Também:  Baixe 10 plug-ins grátis para acelerar seu site WordPress

Por exemplo, se estivéssemos criando um tema aqui no Torque, poderíamos usar Torque como o namespace principal, e Tema como o sub-namespace para esse projeto. Esta seria a aparência:

<?php
 
namespace TorqueTheme;

Visualizar esse namespace informa rapidamente de onde as funções e classes serão retiradas.

3. Aproveite os aliases para limpar seu código

PHP permite que você chame várias funções com o mesmo nome de diferentes namespaces. Isso é feito simplesmente digitando o caminho completo para a função, da mesma forma que você faria com um item em uma pasta (veja o exemplo acima).

No entanto, fazer muito isso pode sobrecarregar rapidamente seu código, tornando-o mais difícil de ler e mais longo do que o necessário. Em vez disso, o PHP também permite criar aliases para essas funções e classes para tornar seu trabalho mais fácil.

Para criar um alias, basta especificá-lo ao importar a classe ou função, assim:

<?php
 
namespace Torque;
 
use TorqueThemeUser as ThemeUser;
 
class User implements ThemeUser {
    // ...
}

Isso irá importar a classe Do utilizador desde o Tema namespace e crie um alias para ele chamado ThemeUser. Desta forma, não entrará em conflito com Do utilizador classe no namespace atual, e você não terá que digitar o caminho completo toda vez que quiser chamá-lo.

4. Use prefixos quando não houver suporte para namespaces

Nem todos os elementos suportam o namespace PHP. Atualmente funciona com:

  • Lições
  • Interfaces
  • Características
  • Traços
  • Certas constantes

Para qualquer outra coisa, você precisará usar o prefixo antigo do WordPress. Isso inclui itens como identificadores de script, nomes de tamanho de imagem ou opções de banco de dados.

Seus prefixos devem seguir convenções de nomenclatura semelhantes aos seus namespaces. Em outras palavras, mantenha-os simples, descritivos e consistentes.

Leia Também:  Como aplicar marketing localizado ao seu WordPress

5. Use o carregamento automático para otimizar o desenvolvimento

Autoload é uma função PHP que extrai arquivos de classe automaticamente quando você chama uma determinada classe. Isso pode economizar muito tempo e esforço, pois você não precisará digitar incluir ou exigem declarações sempre que você quiser chamar uma classe de outro namespace.

Em PHP, isso normalmente é feito usando o padrão PSR-4. Esta é uma funcionalidade um tanto avançada, por isso não vamos nos aprofundar nela aqui. Se você quiser ler sobre isso e implementar o carregamento automático em seu código, consulte este tutorial.

conclusão

Quer você seja novo no desenvolvimento do WordPress ou um profissional experiente procurando melhorar o seu jogo, usar namespaces é vital. Eles evitam colisões de nomes e ajudam a categorizar melhor suas classes e funções essenciais.

Estas cinco dicas o ajudarão a suavizar seu processo de desenvolvimento e obter o máximo dos namespaces:

  1. Abrace o futuro e use namespaces PHP em vez de prefixos.
  2. Crie uma convenção de nomenclatura padrão para seus namespaces para manter as coisas organizadas.
  3. Aproveite os aliases para ajudar a limpar seu código.
  4. Use prefixos quando não houver suporte para namespace.
  5. Use o carregamento automático para otimizar o desenvolvimento.

Tem alguma dúvida sobre o uso de namespaces e prefixos no WordPress? Deixe-nos saber na seção de comentários!

Compartilhe este Link:

Compartilhar no facebook
Compartilhar no twitter
Compartilhar no linkedin
Compartilhar no pinterest
Compartilhar no email
Compartilhar no whatsapp
Compartilhar no telegram

Deixe um comentário

Receba nossos preços
e condções direto no seu email

Por favor, preencha os campos abaixo:

Preferência de contato: