✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Sui valori immutabili nei plugin di WordPress

4

Se hai svolto un lavoro, o anche una lettura, sulla programmazione orientata agli oggetti, probabilmente ti sei imbattuto nell’idea di immutabilità. Questa è l’idea di qualcosa che non cambia.

A volte puoi avere valori immutabili e talvolta puoi avere oggetti immutabili (almeno dopo che sono stati istanziati).

L’opposto di immutabile (ma comunque era la mia tartaruga ninja preferita).

Il fatto è che più lavoro con codice orientato agli oggetti, meno tendo a lavorare con variabili immutabili. Certo, userò le costanti come definite in un file di configurazione, ma è probabile che tu non mi trovi a memorizzare valori all’interno di una classe come const.

Questo probabilmente implica qualcosa su di me e sulle mie capacità, ma è vero. Per fortuna, le revisioni del codice sono ottime per aiutarti a vedere opportunità su dove sfruttare strategie che normalmente non avresti. E questo è il caso dei valori immutabili nei plugin di WordPress.

Naturalmente, questa è una di quelle cose che è stata portata alla mia attenzione da un amico durante la revisione del mio codice.

Quando si lavora con WordPress, molti di noi hanno probabilmente familiarità con functions.php e wp-config.php e il ruolo che svolgono nell’applicazione principale di WordPress.

Sì, ci sono momenti in cui le cose appartengono a wp-config.php, e sì, ci sono volte in cui le cose appartengono a functions.php, ma a volte penso che quel particolare file sia abusato con troppe funzioni, valori e così via .

Ma per quanto riguarda i plugin? In particolare, che dire dei plugin orientati agli oggetti? Ad esempio, supponiamo che tu stia lavorando con un’API che richiede una chiave API, quindi non ti imbatti in un limite di velocità particolare con una versione gratuita dell’applicazione.

Di solito, potresti trovarmi a memorizzare il valore nella classe del plugin principale come una variabile di istanza che può essere passata, o forse è in una classe contenitore a cui posso fare riferimento e utilizzare il suo metodo get .

Ma che dire dell’utilizzo di una  proprietà const in una classe e quindi del suo passaggio tramite iniezione setter?

Ad esempio, supponiamo che esista una classe plug-in che si basa su una classe helper per eseguire il rendering di qualcosa sullo schermo. La chiave API può essere definita in questa classe e quindi passata all’helper quando necessario :

Successivamente, la classe helper può effettuare una chiamata all’API arbitraria (la chiamo Canvas poiché ipoteticamente saremo qualcosa) utilizzando il suo URL e passa la chiave API come parte della stringa di query.

Per di qua:

  • c’è un unico posto in cui viene mantenuto il valore,
  • c’è un nome descrittivo che indica cosa memorizza,
  • può essere passato ad altre classi con dipendenza minima,
  • le altre classi possono riferirsi ad esse come variabili locali o variabili di istanza (a seconda di come vengono passate).

Certo, ci sono altri modi in cui questi valori possono essere mantenuti (di nuovo usando functions.php o qualcosa di simile).

Ma se stai lavorando con la programmazione orientata agli oggetti e vuoi lavorare con valori immutabili in un plugin di WordPress, non avrebbe senso mantenerlo nel contesto delle classi che compongono il plugin?

Fonte di registrazione: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More