hyperf-view/builder/View/Components/Attrs/TransferData.php

38 lines
855 B
PHP

<?php
declare(strict_types=1);
namespace Builder\View\Components\Attrs;
use Builder\Traits\JsonBuilder;
class TransferData extends JsonBuilder
{
protected $key;
protected $label;
protected $disabled = false;
static public function make($key, $label, $disabled = false)
{
return new TransferData($key, $label, $disabled);
}
/**
* TransferData constructor.
* @param $key
* @param $label
* @param bool $disabled
*/
public function __construct($key, $label, $disabled)
{
$this->key = $key;
$this->label = $label;
$this->disabled = $disabled;
}
/**
* @inheritDoc
*/
public function jsonSerialize() :array
{
$data = [];
foreach ($this as $key => $val) {
$data[$key] = $val;
}
return $data;
}
}