Predefined types - korobochkin/wp-kit GitHub Wiki

Набор заранее готовых классов для разных типов данных позволяет проще создавать нужные объекты. Эти классы самостоятельно устанавливают объекты DataTransformers для вашего объекта. Для этого нужно вызывать родительский конструктор внутри вашего.

Мы рассмотрим пример с использование Option, но другие типы работают аналогичным образом.

namespace YourName\YourProduct\Options;

use Korobochkin\WPKit\Options\Special\BoolOption;

class YourOption extends BoolOption {

  public function __constructor() {
    parent::__constructor();
    $this
      ->setName('your_product_prefix_your_option')
  }
  
  // You can write your own logic
  // for build constraint.
}

В результате этого при вызове get() вы всегда будете получать bool тип переменных, если он возвращается из WordPress.

Вместо BoolOption можно использовать и другие классы:

  • AbstractArrayOption
  • AbstractStringOption
  • BoolOption
  • DateTimeOption
  • NumericOption

❗ Использование DataTransformers

Следует помнить, что DataTransformers применяются, только для преобразования значений полученных из WordPress. При получении локального значения DataTransformers не используются.

Если вы хотите сделать преобразование самостоятельно, то можете использовать следующий код.

$dataTransformer = $myOption->getDataTransformer(); 

$dataTransformer->transform($value);
// or
$dataTransformer->reverseTransform($value);
⚠️ **GitHub.com Fallback** ⚠️