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

Sobre valores imutáveis ​​em plugins do WordPress

8

Se você fez algum trabalho – ou mesmo alguma leitura – sobre programação orientada a objetos, provavelmente já se deparou com a ideia de imutabilidade. Essa é a ideia de algo ser imutável.

Às vezes, você pode ter valores imutáveis ​​e, às vezes, objetos imutáveis ​​(pelo menos depois de instanciados).

O oposto de imutável (mas ele era minha tartaruga ninja favorita, de qualquer maneira).

O problema é que quanto mais trabalho com código orientado a objetos, menos costumo trabalhar com variáveis ​​imutáveis. Claro, usarei constantes conforme definido em um arquivo de configuração, mas é improvável que você me encontre armazenando valores em uma classe como const.

Isso provavelmente implica algo sobre mim e minhas habilidades, mas é verdade. Felizmente, as revisões de código são ótimas para ajudá-lo a ver oportunidades de onde aproveitar as estratégias que você normalmente não usaria. E esse é o caso dos valores imutáveis ​​nos plugins do WordPress.

Claro, esta é uma daquelas coisas que me chamaram a atenção por um amigo ao revisar meu código.

Ao trabalhar com o WordPress, muitos de nós provavelmente estão familiarizados com functions.php e wp-config.php e o papel que eles desempenham no aplicativo principal do WordPress.

Sim, há momentos em que as coisas pertencem a wp-config.php, e sim, há momentos em que as coisas pertencem a functions.php, mas às vezes acho que esse arquivo específico é abusado com muitas funções, valores e assim por diante .

Mas e os plugins? Especificamente, e os plugins orientados a objetos? Caso em questão, digamos que você esteja trabalhando com uma API que requer uma chave de API, para que você não atinja um limite de taxa específico com uma versão gratuita do aplicativo.

Normalmente, você pode me encontrar armazenando o valor na classe principal do plugin como uma variável de instância que pode ser passada, ou talvez esteja em uma classe de contêiner à qual eu possa me referir e usar seu  método get.

Mas que tal usar uma  propriedade const em uma classe e depois passá-la via injeção de setter?

Por exemplo, digamos que há uma classe de plugin que depende de uma classe auxiliar para renderizar algo na tela. A chave da API pode ser definida nesta classe e então passada para o auxiliar quando necessário :

Em seguida, a classe auxiliar pode fazer uma chamada para a API arbitrária (estou chamando de Canvas, pois hipoteticamente seremos algo) usando sua URL e passa a chave da API como parte da string de consulta.

Deste jeito:

  • há um único lugar em que o valor é mantido,
  • há um nome descritivo indicando o que ele armazena,
  • pode ser passado para outras classes com dependência mínima,
  • as outras classes podem se referir a elas como variáveis ​​locais ou como variáveis ​​de instância (dependendo de como elas são passadas).

Claro, existem outras maneiras de manter esses valores (novamente usando functions.php ou algo semelhante).

Mas se você está trabalhando com programação orientada a objetos e quer trabalhar com valores imutáveis ​​em um plugin WordPress, não faria sentido mantê-lo no contexto das classes que compõem o plugin?

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