jeyroik/extas-fields-defaults

There is no license information available for the latest version (0.2.1) of this package.

Default fields values for Extas

0.2.1 2020-05-26 03:57 UTC

This package is auto-updated.

Last update: 2024-10-26 13:50:41 UTC


README

PHP Composer codecov.io PHPStan Enabled

Описание

Пакет позволяет определить значения по умолчанию для полей IItem-совместимого класса.

Применение

Определение обязательных полей

Для определения значений по умолчанию используется пакет extas-fields.

extas.json

{
  "fields": [
    {
      "name": "my_field",
      "title": "My field",
      "description": "Example of usage",
      "type": "string",
      "value": "my value",
      "parameters": {
        "subject": {
          "name": "subject",
          "value": "my.subject"
        }
      }
    }
  ]
}

Значение из поля value как раз и есть значение по умолчанию для поля.

Далее необходимо подключить плагин текущего пакета для нужных вам сущностей.

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

extas.json

{
  "plugins": [
    {
      "class": "extas\\components\\plugins\\PluginFieldsDefaults",
      "stage": ["my.subject.init"],
      "priority": 1
    }
  ]
}

Установите поля и плагин

# vendor/bin/extas i

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

$my = new class extends Item {
    protected function getSubjectForExtension(): string
    {
        return 'my.subject';
    }
};

echo $my['my_field']; // "my value"