✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Parar a execução do plug-in sem dependência

5

Se você abordar muito o desenvolvimento de plugins do WordPress a partir de uma perspectiva orientada a objetos, eventualmente chegará a um ponto em que não estará interagindo diretamente com o próprio núcleo do WordPress.

E, na minha opinião, isso é uma coisa boa. É um sinal de uma arquitetura que você está estruturando seu código corretamente. Aquilo é:

  1. Você tem o WordPress sentado no nível fundamental,
  2. Você tem um conjunto de classes que estão logo acima do WordPress responsável por enviar informações de e para o WordPress entre o plugin,
  3. E você tem o resto do seu código que compreende o resto da funcionalidade.

A forma como isso é implementado pode variar, mas a maneira geral de imaginar isso é a mesma que costumo pensar no aplicativo padrão de N camadas, onde você tem a camada de dados, a camada de aplicativo e o front-end.

Exceto por este tempo, você tem o WordPress, uma camada para comunicação com o WordPress e o resto do seu código e, você sabe, o resto do seu código.

Como um plugin pode ser organizado.

Então, o que acontece quando você deseja interromper a execução do plug-in quando ele precisa interagir com uma dependência de terceiros e só deve ser executado se essa dependência estiver presente?

Parar a execução do plug-in

Devido à natureza do PHP e do WordPress, existem algumas maneiras de fazer isso. O código que vou compartilhar não prescreve a maneira de fazer isso.

Em vez disso, essa é uma maneira de fazer isso (que foi extraída de algo que está em desenvolvimento). Além disso, mostrarei como ele interage com alguns outros componentes dos plugins também.

1 O Construtor

Se você ler artigos suficientes sobre WordPress e programação orientada a objetos, provavelmente descobrirá que os construtores não devem ser usados ​​para definir ganchos. E eu concordo.

Isso cria um nível desnecessário de acoplamento e torna os testes mais difíceis. Qual, então, é o propósito de um construtor no código baseado em WordPress?

Eu o uso pelos mesmos motivos que você esperaria em qualquer outra linguagem: Para inicializar as propriedades da classe. No código abaixo, você verá três coisas:

  1. Eu inicializo uma propriedade,
  2. Eu verifico se existe uma dependência de terceiros,
  3. Se isso não acontecer, então eu adiciono uma mensagem de erro,
  4. Eu atualizo a propriedade.

Claro, é verbose, mas também não recorre a código inteligente para inicializar valores.

(Quanto mais velho fico, mais gosto de código específico, pois torna mais fácil ler, pegar e seguir em frente a uma taxa mais rápida do que a alternativa.)

2 O Método de Inicialização

Como não estamos usando um construtor para trabalhar com ganchos do WordPress, essa funcionalidade deve existir no contexto de outro método.

Isso nos dá um local dedicado para colocar esse tipo de funcionalidade, desacoplá-la do resto da classe e fazer com que ela interaja com o WordPress somente quando o método for invocado explicitamente.

Mas lembre-se, o ponto principal do que estou chegando tem a ver com interromper a execução de um plug-in – não onde colocar os ganchos.

Então vamos dizer que a dependência de terceiros não existe, e daí? Lembre-se que no construtor foi definida uma propriedade que nos permitirá determinar se devemos avançar com a configuração de ganchos ou não:

E quando isso estiver em vigor, o resto do código não será executado.

Muitas palavras, um pouco de código

Parece muita explicação para tão pouco código.

Mas uma parte disso também é para tentar transmitir o significado de ter partes de um projeto baseado em WordPress separadas do resto do núcleo para que as partes possam interagir entre si sem precisar falar explicitamente com o núcleo o tempo todo.

Fonte de gravação: tommcfarlin.com

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação