✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Про незмінні значення в плагінах WordPress

3

Якщо ви хоч щось працювали – або навіть щось читали – з об’єктно-орієнтованого програмування, то, швидше за все, стикалися з ідеєю незмінності. Це ідея незмінності чогось.

Іноді ви можете мати незмінні значення, а іноді ви можете мати незмінні об’єкти (принаймні після їх створення).

Протилежність immutable (але він був моєю улюбленою черепашкою-ніндзя).

Справа в тому, що чим більше я працюю з об’єктно-орієнтованим кодом, тим менше працюю з незмінними змінними. Звичайно, я буду використовувати константи, як визначено у файлі конфігурації, але ви навряд чи побачите, що я зберігаю значення в класі як const.

Можливо, це щось натякає на мене та мої здібності, але це правда. На щастя, перевірки коду чудово допомагають вам побачити можливості для використання стратегій, які ви зазвичай не використовуєте. І це стосується незмінних значень у плагінах WordPress.

Звичайно, це одна з тих речей, на які звернув мою увагу друг, коли переглядав мій код.

Працюючи з WordPress, багато хто з нас, ймовірно, знайомі з functions.php і wp-config.php і роллю, яку вони відіграють в основній програмі WordPress.

Так, бувають випадки, коли речі належать до wp-config.php, і так, бувають випадки, коли речі належать до functions.php, але іноді я думаю, що конкретний файл зловживає занадто великою кількістю функцій, значень тощо .

Але як щодо плагінів? Зокрема, як щодо об’єктно-орієнтованих плагінів? Наприклад, скажімо, ви працюєте з API, для якого потрібен ключ API, тому ви не досягнете певного обмеження швидкості з безкоштовною версією програми.

Зазвичай ви можете побачити, що я зберігаю значення в основному класі плагіна як змінну екземпляра, яку можна передавати, або, можливо, воно знаходиться в класі-контейнері, на який я можу посилатися та використовувати його метод get .

Але як щодо використання  властивості const у класі з подальшою передачею через ін’єкцію сетера?

Наприклад, припустимо, що є клас плагіна, який покладається на допоміжний клас, щоб відобразити щось на екрані. Ключ API можна визначити в цьому класі, а потім передати в помічник, коли це необхідно :

Далі допоміжний клас може викликати довільний API (я називаю його Canvas, оскільки ми гіпотетично будемо чимось), використовуючи його URL-адресу, і передає ключ API як частину рядка запиту.

Сюди:

  • є єдине місце, де зберігається цінність,
  • є описова назва, яка вказує на те, що він зберігає,
  • його можна передати іншим класам з мінімальною залежністю,
  • інші класи можуть посилатися на них як на локальні змінні або як на змінні екземпляра (залежно від того, як вони передаються).

Звичайно, існують інші способи збереження цих значень (знову ж таки за допомогою functions.php або щось подібне).

Але якщо ви працюєте з об’єктно-орієнтованим програмуванням і хочете працювати з незмінними значеннями в плагіні WordPress, чи не має сенсу зберігати його в контексті класів, які складають плагін?

Джерело запису: tommcfarlin.com

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі