File: /var/www/html/wpmuhibbah_err/wp-content/plugins/give/src/Framework/FieldsAPI/Option.php
<?php
namespace Give\Framework\FieldsAPI;
use JsonSerializable;
/**
* Class Option
*
* @since 2.12.0
*/
class Option implements JsonSerializable
{
use Concerns\HasLabel;
/** @var string */
protected $value;
/**
* @since 2.23.1 Make constructor final to avoid unsafe usage of `new static()`.
*
* @param string $value
* @param ?string $label
*/
final public function __construct($value, $label = null)
{
$this->value = $value;
$this->label = $label;
}
/**
* Create a new option.
*
* @since 2.12.0
*
* @return static
*/
public static function make(...$args)
{
return new static(...$args);
}
/**
* Access the value
*
* @since 2.12.0
*
* @return string
*/
public function getValue()
{
return $this->value;
}
/**
* {@inheritdoc}
*/
#[\ReturnTypeWillChange]
public function jsonSerialize()
{
return [
'value' => $this->getValue(),
'label' => $this->getLabel(),
];
}
}