# give/4.16.8.1/src/Framework/FieldsAPI/Option.php

GiveWP – Donation Plugin and Fundraising Platform, version 4.16.8.1. 68 lines.

- Page: https://pluginprobe.com/plugins/give/4.16.8.1/code/src/Framework/FieldsAPI/Option.php
- Raw: https://pluginprobe.com/plugins/give/4.16.8.1/raw/src/Framework/FieldsAPI/Option.php
- Modified: 2024-01-10T19:22:20+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/give/4.16.8.1/code/src/Framework/FieldsAPI/Option.php#L10-L20`.

```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(),
        ];
    }
}

```
