✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Об неизменяемых значениях в плагинах WordPress

3

Если вы когда-нибудь работали — или даже читали — по объектно-ориентированному программированию, то, вероятно, сталкивались с идеей неизменяемости. Это идея чего-то неизменного.

Иногда у вас могут быть неизменяемые значения, а иногда у вас могут быть неизменяемые объекты (по крайней мере, после их создания).

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

Дело в том, что чем больше я работаю с объектно-ориентированным кодом, тем меньше мне приходится работать с неизменяемыми переменными. Конечно, я буду использовать константы, определенные в конфигурационном файле, но вряд ли вы увидите, что я сохраняю значения внутри класса как const.

Возможно, это подразумевает что-то обо мне и моих способностях, но это правда. К счастью, обзоры кода отлично помогают вам увидеть возможности для использования стратегий, которые вы обычно не использовали бы. Так обстоит дело с неизменяемыми значениями в плагинах WordPress.

Конечно, это одна из тех вещей, на которые обратил мое внимание друг при просмотре моего кода.

При работе с WordPress многие из нас, вероятно, знакомы с functions.php и wp-config.php и той ролью, которую они играют в основном приложении WordPress.

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

Но как насчет плагинов? В частности, как насчет объектно-ориентированных плагинов? Например, скажем, вы работаете с API, для которого требуется ключ API, поэтому вы не сталкиваетесь с определенным ограничением скорости в бесплатной версии приложения.

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

Но как насчет того, чтобы использовать константное свойство в классе, а затем передавать его через инъекцию сеттера?

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

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

Сюда:

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

Конечно, есть и другие способы сохранения этих значений (опять же с использованием functions.php или чего-то подобного).

Но если вы работаете с объектно-ориентированным программированием и хотите работать с неизменяемыми значениями в плагине WordPress, не имеет ли смысла сохранять его в контексте классов, составляющих плагин?

Источник записи: tommcfarlin.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее