public function configure(ArrayNodeDefinition $builder)
    {
        $builder
            ->children()
                // Common settings.
                ->enumNode('default_driver')
                    // "wpapi" is for backwards compatibility; means "wpphp".
                    ->values(['wpcli', 'wpapi', 'wpphp', 'blackbox'])
                    ->defaultValue('wpcli')
                ->end()
                ->scalarNode('path')
                    ->defaultValue('')
                ->end()

                // WordPress' "siteurl" option.
                ->scalarNode('site_url')->defaultValue('%mink.base_url%')->end()

                // Account roles -> username/password.
                ->arrayNode('users')
                    ->prototype('array')
                        ->children()
                            ->variableNode('roles')
                                ->defaultValue(['administrator'])
                            ->end()
                            ->scalarNode('username')
                                ->defaultValue('admin')
                            ->end()
                            ->scalarNode('password')
                                ->defaultValue('admin')
                            ->end()
                        ->end()
                    ->end()
                ->end()

                // WP-CLI driver.
                ->arrayNode('wpcli')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->scalarNode('alias')->end()
                        ->scalarNode('binary')
                            ->defaultValue('wp')
                        ->end()
                    ->end()
                ->end()

                // WordPress PHP driver.
                ->arrayNode('wpphp')
                    ->addDefaultsIfNotSet()
                    ->children()
                    ->end()
                ->end()

                // Blackbox driver.
                ->arrayNode('blackbox')
                    ->addDefaultsIfNotSet()
                    ->children()
                    ->end()
                ->end()

                // Database management.
                ->arrayNode('database')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->booleanNode('restore_after_test')
                            ->defaultFalse()
                        ->end()
                        ->scalarNode('backup_path')
                        ->end()
                    ->end()
                ->end()

                // Permalink patterns.
                ->arrayNode('permalinks')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->scalarNode('author_archive')
                            ->defaultValue('author/%s/')
                        ->end()
                    ->end()
                ->end()

                // Internal use only. Don't use it. Or else.
                ->arrayNode('internal')
                    ->addDefaultsIfNotSet()
                ->end()
            ->end()
        ->end();
    }
public function configure(ArrayNodeDefinition $builder)
    {
        $builder
            ->children()
                // Common settings.
                ->enumNode('default_driver')
                    // "wpapi" is for backwards compatibility; means "wpphp".
                    ->values(['wpcli', 'wpapi', 'wpphp', 'blackbox'])
                    ->defaultValue('wpcli')
                ->end()
                ->scalarNode('path')
                    ->defaultValue('')
                ->end()

                // WordPress' "siteurl" option.
                ->scalarNode('site_url')->defaultValue('%mink.base_url%')->end()

                // Account roles -> username/password.
                ->arrayNode('users')
                    ->prototype('array')
                        ->children()
                            ->variableNode('roles')
                                ->defaultValue(['administrator'])
                            ->end()
                            ->scalarNode('username')
                                ->defaultValue('admin')
                            ->end()
                            ->scalarNode('password')
                                ->defaultValue('admin')
                            ->end()
                        ->end()
                    ->end()
                ->end()

                // WP-CLI driver.
                ->arrayNode('wpcli')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->scalarNode('alias')->end()
                        ->scalarNode('binary')
                            ->defaultValue('wp')
                        ->end()
                    ->end()
                ->end()

                // WordPress PHP driver.
                ->arrayNode('wpphp')
                    ->addDefaultsIfNotSet()
                    ->children()
                    ->end()
                ->end()

                // Blackbox driver.
                ->arrayNode('blackbox')
                    ->addDefaultsIfNotSet()
                    ->children()
                    ->end()
                ->end()

                // Database management.
                ->arrayNode('database')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->booleanNode('restore_after_test')
                            ->defaultFalse()
                        ->end()
                        ->scalarNode('backup_path')
                        ->end()
                    ->end()
                ->end()

                // Permalink patterns.
                ->arrayNode('permalinks')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->scalarNode('author_archive')
                            ->defaultValue('author/%s/')
                        ->end()
                    ->end()
                ->end()

                // Internal use only. Don't use it. Or else.
                ->arrayNode('internal')
                    ->addDefaultsIfNotSet()
                ->end()
            ->end()
        ->end();
    }
public function configure ( ArrayNodeDefinition $ builder ) { $ builder -> children ( ) // Common settings. -> enumNode ( 'default_driver' ) // "wpapi" is for backwards compatibility; means "wpphp". -> values ( [ 'wpcli' , 'wpapi' , 'wpphp' , 'blackbox' ] ) -> defaultValue ( 'wpcli' ) -> end ( ) -> scalarNode ( 'path' ) -> defaultValue ( '' ) -> end ( ) // WordPress' "siteurl" option. -> scalarNode ( 'site_url' ) -> defaultValue ( '%mink.base_url%' ) -> end ( ) // Account roles -> username/password. -> arrayNode ( 'users' ) -> prototype ( 'array' ) -> children ( ) -> variableNode ( 'roles' ) -> defaultValue ( [ 'administrator' ] ) -> end ( ) -> scalarNode ( 'username' ) -> defaultValue ( 'admin' ) -> end ( ) -> scalarNode ( 'password' ) -> defaultValue ( 'admin' ) -> end ( ) -> end ( ) -> end ( ) -> end ( ) // WP-CLI driver. -> arrayNode ( 'wpcli' ) -> addDefaultsIfNotSet ( ) -> children ( ) -> scalarNode ( 'alias' ) -> end ( ) -> scalarNode ( 'binary' ) -> defaultValue ( 'wp' ) -> end ( ) -> end ( ) -> end ( ) // WordPress PHP driver. -> arrayNode ( 'wpphp' ) -> addDefaultsIfNotSet ( ) -> children ( ) -> end ( ) -> end ( ) // Blackbox driver. -> arrayNode ( 'blackbox' ) -> addDefaultsIfNotSet ( ) -> children ( ) -> end ( ) -> end ( ) // Database management. -> arrayNode ( 'database' ) -> addDefaultsIfNotSet ( ) -> children ( ) -> booleanNode ( 'restore_after_test' ) -> defaultFalse ( ) -> end ( ) -> scalarNode ( 'backup_path' ) -> end ( ) -> end ( ) -> end ( ) // Permalink patterns. -> arrayNode ( 'permalinks' ) -> addDefaultsIfNotSet ( ) -> children ( ) -> scalarNode ( 'author_archive' ) -> defaultValue ( 'author/%s/' ) -> end ( ) -> end ( ) -> end ( ) // Internal use only. Don't use it. Or else. -> arrayNode ( 'internal' ) -> addDefaultsIfNotSet ( ) -> end ( ) -> end ( ) -> end ( ) ; }
Declare configuration options for the extension.

@param ArrayNodeDefinition $builder
Declare configuration options for the extension .