*/ namespace Flasher\Prime\Stamp; final class TranslationStamp implements StampInterface { /** * @var array */ private $parameters; /** * @var string|null */ private $locale; /** * @param array $parameters * @param string|null $locale */ public function __construct($parameters = array(), $locale = null) { $order = self::parametersOrder($parameters, $locale); $parameters = $order['parameters']; $locale = $order['locale']; $this->parameters = $parameters; $this->locale = $locale; } /** * @return array */ public function getParameters() { return $this->parameters; } /** * @return string|null */ public function getLocale() { return $this->locale; } /** * @param mixed $parameters * @param mixed|null $locale * * @return array{parameters: array, locale: string|null} */ public static function parametersOrder($parameters = array(), $locale = null) { if (\is_string($parameters)) { $locale = $parameters; $parameters = array(); @trigger_error('Since php-flasher/flasher v1.4, passing the locale as first parameter is deprecated and will be removed in v2.0. Use the second parameter instead.', \E_USER_DEPRECATED); } return array('parameters' => $parameters, 'locale' => $locale); // @phpstan-ignore-line } }