class Sivujetti\BlockType\PropertiesBuilder
Builder-luokka, jolla voi määritellä lohkotyypin kentät. Esim. ImageBlockType
llä on src
-, altText
-, ja caption
-kentät.
Synopsis
final class PropertiesBuilder {
/* Vakiot */
const DATA_TYPE_TEXT = BlockProperty::DATA_TYPE_TEXT;
const DATA_TYPE_UINT = BlockProperty::DATA_TYPE_UINT;
/* Metodit */
public newProperty(string $name, ?string $dataType = null): $this
public dataType(string $type, ?int $length = null, ?array $validationRules = null): $this
public getResult(): ArrayObject<int, BlockProperty>
}
Vakiot
- DATA_TYPE_TEXT
- ...
- DATA_TYPE_UINT
- ...
Metodit
newProperty()
Määrittelee uuden kentän.
Signature
public function newProperty(string $name, ?string $dataType = null): PropertiesBuilder
Esimerkit
$builder->newProperty("numColumns", $builder::DATA_TYPE_UINT);
Tietotyypeillä on oletuksena seuraavat validaattorit:
Tyypi | Validaattorit |
---|---|
"text" ($builder::DATA_TYPE_TEXT ) | ["type", "string"] ["maxLength", 1024] |
"json" | ["type", "string"] ["maxLength", 256000] |
"int" | ["type", "number"] |
"uint" ($builder::DATA_TYPE_UINT ) | ["type", "number"] ["min", 0] |
Jos haluat yliajaa oletusvalidaattorien asetuksia, korvaa $builder->newProperty("year", $builder::DATA_TYPE_TEXT)
-> $builder->newProperty("year")->dataType($builder::DATA_TYPE_TEXT, validationRules: [["maxLength", 4]])
.
dataType()
Määrittelee edellisen kentän tietotyypin.
Signature
public function dataType(string $type, ?int $length = null, ?array $validationRules = null): PropertiesBuilder
Esimerkit
$builder
->newProperty("stringPropWithLength")
->dataType($builder::DATA_TYPE_TEXT, 64);
getResult()
…
Signature
public function getResult(): \ArrayObject<int, BlockProperty>