protected function setDefaultOptions(OptionsResolver $resolver)
    {
        // Если логин пользователя содержит точки и символы верхнего регистра (заглавные буквы),
        // то для получения нормализованного логина их следует заменить, соответственно, дефисами
        // и символами нижнего регистра.
        // http://api.yandex.ru/direct/doc/concepts/finance.xml#access
        $loginNormalizer = function (Options $options, $value) {
            if (is_string($value)) {
                return strtolower(str_replace('.', '-', $value));
            }

            return $value;
        };

        $invokerNormalizer = function (Options $options, $value) {
            if (null === $value) {
                return new Invoker(
                    $options['retry_max_attempts'],
                    $options['retry_factor'],
                    $options['retry_max_delay']
                );
            }

            return $value;
        };

        $resolver
            ->setRequired(['access_token'])
            ->setDefaults([
                'locale' => self::LOCALE_EN,
                'master_token' => null,
                'login' => null,
                'sandbox' => false,
                'use_operator_units' => false,
                'soap_options' => [],
                'invoker' => null,
                'retry_factor' => 1,
                'retry_max_attempts' => 3,
                'retry_max_delay' => 60,
            ])
            ->setAllowedValues('locale', [self::LOCALE_EN, self::LOCALE_RU, self::LOCALE_UA])
            ->setAllowedTypes('master_token', ['null', 'string'])
            ->setAllowedTypes('login', ['null', 'string'])
            ->setAllowedTypes('access_token', 'string')
            ->setAllowedTypes('sandbox', 'bool')
            ->setAllowedTypes('use_operator_units', 'bool')
            ->setAllowedTypes('invoker', ['null', 'callable'])
            ->setAllowedTypes('retry_factor', 'int')
            ->setAllowedTypes('retry_max_attempts', 'int')
            ->setAllowedTypes('retry_max_delay', ['int', 'float'])
            ->setNormalizer('login', $loginNormalizer)
            ->setNormalizer('invoker', $invokerNormalizer);
    }
protected function setDefaultOptions(OptionsResolver $resolver)
    {
        // Если логин пользователя содержит точки и символы верхнего регистра (заглавные буквы),
        // то для получения нормализованного логина их следует заменить, соответственно, дефисами
        // и символами нижнего регистра.
        // http://api.yandex.ru/direct/doc/concepts/finance.xml#access
        $loginNormalizer = function (Options $options, $value) {
            if (is_string($value)) {
                return strtolower(str_replace('.', '-', $value));
            }

            return $value;
        };

        $invokerNormalizer = function (Options $options, $value) {
            if (null === $value) {
                return new Invoker(
                    $options['retry_max_attempts'],
                    $options['retry_factor'],
                    $options['retry_max_delay']
                );
            }

            return $value;
        };

        $resolver
            ->setRequired(['access_token'])
            ->setDefaults([
                'locale' => self::LOCALE_EN,
                'master_token' => null,
                'login' => null,
                'sandbox' => false,
                'use_operator_units' => false,
                'soap_options' => [],
                'invoker' => null,
                'retry_factor' => 1,
                'retry_max_attempts' => 3,
                'retry_max_delay' => 60,
            ])
            ->setAllowedValues('locale', [self::LOCALE_EN, self::LOCALE_RU, self::LOCALE_UA])
            ->setAllowedTypes('master_token', ['null', 'string'])
            ->setAllowedTypes('login', ['null', 'string'])
            ->setAllowedTypes('access_token', 'string')
            ->setAllowedTypes('sandbox', 'bool')
            ->setAllowedTypes('use_operator_units', 'bool')
            ->setAllowedTypes('invoker', ['null', 'callable'])
            ->setAllowedTypes('retry_factor', 'int')
            ->setAllowedTypes('retry_max_attempts', 'int')
            ->setAllowedTypes('retry_max_delay', ['int', 'float'])
            ->setNormalizer('login', $loginNormalizer)
            ->setNormalizer('invoker', $invokerNormalizer);
    }
protected function setDefaultOptions ( OptionsResolver $ resolver ) { // Если логин пользователя содержит точки и символы верхнего регистра (заглавные буквы), // то для получения нормализованного логина их следует заменить, соответственно, дефисами // и символами нижнего регистра. // http://api.yandex.ru/direct/doc/concepts/finance.xml#access $ loginNormalizer = function ( Options $ options , $ value ) { if ( is_string ( $ value ) ) { return strtolower ( str_replace ( '.' , '-' , $ value ) ) ; } return $ value ; } ; $ invokerNormalizer = function ( Options $ options , $ value ) { if ( null === $ value ) { return new Invoker ( $ options [ 'retry_max_attempts' ] , $ options [ 'retry_factor' ] , $ options [ 'retry_max_delay' ] ) ; } return $ value ; } ; $ resolver -> setRequired ( [ 'access_token' ] ) -> setDefaults ( [ 'locale' => self :: LOCALE_EN , 'master_token' => null , 'login' => null , 'sandbox' => false , 'use_operator_units' => false , 'soap_options' => [ ] , 'invoker' => null , 'retry_factor' => 1 , 'retry_max_attempts' => 3 , 'retry_max_delay' => 60 , ] ) -> setAllowedValues ( 'locale' , [ self :: LOCALE_EN , self :: LOCALE_RU , self :: LOCALE_UA ] ) -> setAllowedTypes ( 'master_token' , [ 'null' , 'string' ] ) -> setAllowedTypes ( 'login' , [ 'null' , 'string' ] ) -> setAllowedTypes ( 'access_token' , 'string' ) -> setAllowedTypes ( 'sandbox' , 'bool' ) -> setAllowedTypes ( 'use_operator_units' , 'bool' ) -> setAllowedTypes ( 'invoker' , [ 'null' , 'callable' ] ) -> setAllowedTypes ( 'retry_factor' , 'int' ) -> setAllowedTypes ( 'retry_max_attempts' , 'int' ) -> setAllowedTypes ( 'retry_max_delay' , [ 'int' , 'float' ] ) -> setNormalizer ( 'login' , $ loginNormalizer ) -> setNormalizer ( 'invoker' , $ invokerNormalizer ) ; }
Sets the default options.

@param OptionsResolver $resolver
Sets the default options .