# tableberg/1.1.4/renderer/Attrs/Corners.php

Tableberg – Simple Gutenberg Table Block, version 1.1.4. 54 lines.

- Page: https://pluginprobe.com/plugins/tableberg/1.1.4/code/renderer/Attrs/Corners.php
- Raw: https://pluginprobe.com/plugins/tableberg/1.1.4/raw/renderer/Attrs/Corners.php
- Modified: 2026-05-04T16:51:12+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/tableberg/1.1.4/code/renderer/Attrs/Corners.php#L10-L20`.

```php
<?php

namespace Tableberg\Renderer\Attrs;

use function Tableberg\Renderer\getOrNull;

class Corners {
    /** @var StringAttr */
    public $topLeft;

    /** @var StringAttr */
    public $topRight;

    /** @var StringAttr */
    public $bottomRight;

    /** @var StringAttr */
    public $bottomLeft;

    /**
     * @param array|null $data
     * @param array<string, string> $defaults
     * @return self
     */
    public static function from_array($data, $defaults) {
        $data = is_array($data) ? $data : [];

        $instance = new self();
        $defaultTopLeft = getOrNull($defaults['topLeft']);
        $defaultTopRight = getOrNull($defaults['topRight']);
        $defaultBottomRight = getOrNull($defaults['bottomRight']);
        $defaultBottomLeft = getOrNull($defaults['bottomLeft']);

        $instance->topLeft = new StringAttr(
            getOrNull($data['topLeft']),
            $defaultTopLeft
        );
        $instance->topRight = new StringAttr(
            getOrNull($data['topRight']),
            $defaultTopRight
        );
        $instance->bottomRight = new StringAttr(
            getOrNull($data['bottomRight']),
            $defaultBottomRight
        );
        $instance->bottomLeft = new StringAttr(
            getOrNull($data['bottomLeft']),
            $defaultBottomLeft
        );

        return $instance;
    }
}

```
