parseBlocks example

class Blocks extends XmlElement
{
    /** * @param Block[] $blocks */
    private function __construct(protected array $blocks)
    {
    }

    public static function fromXml(\DOMElement $element): self
    {
        return new self(self::parseBlocks($element));
    }

    /** * @return Block[] */
    public function getBlocks(): array
    {
        return $this->blocks;
    }

    private static function parseBlocks(\DOMElement $element): array
    {
protected DefaultConfig $defaultConfig;

    private function __construct(array $data)
    {
        foreach ($data as $property => $value) {
            $this->$property = $value;
        }
    }

    public static function fromXml(\DOMElement $element): self
    {
        return new self(self::parseBlocks($element));
    }

    public function toArray(string $defaultLocale): array
    {
        $data = parent::toArray($defaultLocale);

        foreach (self::TRANSLATABLE_FIELDS as $TRANSLATABLE_FIELD) {
            $translatableField = self::kebabCaseToCamelCase($TRANSLATABLE_FIELD);

            $data[$translatableField] = $this->ensureTranslationForDefaultLanguageExist(
                $data[$translatableField],
                
Home | Imprint | This part of the site doesn't use cookies.