# packeta/1.2.5/src/Packetery/Module/Carrier/Options.php

Packeta, version 1.2.5. 68 lines.

- Page: https://pluginprobe.com/plugins/packeta/1.2.5/code/src/Packetery/Module/Carrier/Options.php
- Raw: https://pluginprobe.com/plugins/packeta/1.2.5/raw/src/Packetery/Module/Carrier/Options.php
- Modified: 2022-03-30T13:08:18+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/packeta/1.2.5/code/src/Packetery/Module/Carrier/Options.php#L10-L20`.

```php
<?php
/**
 * Options class.
 *
 * @package Packetery
 */

declare( strict_types=1 );


namespace Packetery\Module\Carrier;

use Packetery\Module\Checkout;

/**
 * Options class.
 */
class Options {

	/**
	 * Options.
	 *
	 * @var array
	 */
	private $options;

	/**
	 * Constructor.
	 *
	 * @param array $options Options.
	 */
	public function __construct( array $options ) {
		$this->options = $options;
	}

	/**
	 * Carrier ID.
	 *
	 * @param string $carrierId Carrier ID.
	 *
	 * @return static
	 */
	public static function createByCarrierId( string $carrierId ): self {
		$optionId = Checkout::CARRIER_PREFIX . $carrierId;
		$options  = get_option( $optionId );
		if ( empty( $options ) ) {
			$options = [];
		}

		return new self( $options );
	}

	/**
	 * Gets type of address validation. One of ['required', 'optional', 'none'].
	 *
	 * @return string
	 */
	public function getAddressValidation(): string {
		$none  = 'none';
		$value = $this->options['address_validation'] ?? $none;
		if ( $value ) {
			return $value;
		}

		return $none;
	}
}

```
