public static function appendNamespaces (string $description)
    {
        $treeBuilder = new TreeBuilder("namespaces");
        $node = \method_exists($treeBuilder, "getRootNode")
            ? $treeBuilder->getRootNode()
            : $treeBuilder->root("namespaces");

        $node
            ->scalarPrototype()->end()
            ->validate()
            ->ifTrue(
                function (array $paths)
                {
                    foreach ($paths as $namespace => $path)
                    {
                        if (1 !== \preg_match('~^' . Asset::NAMESPACE_REGEX . '$~', $namespace))
                        {
                            return true;
                        }
                    }

                    return false;
                }
            )
            ->thenInvalid("The namespaces must start with a-z and can only contain a-z and 0-9.")
            ->end()
            ->validate()
            ->ifTrue(
                function (array $paths)
                {
                    foreach ($paths as $path)
                    {
                        if (!\is_string($path))
                        {
                            return true;
                        }

                        if (false !== \strpos($path, "..."))
                        {
                            return true;
                        }
                    }

                    return false;
                }
            )
            ->thenInvalid("The namespaces can't be outside of the project root (and can't use '..' in their paths).")
            ->end()
            ->info($description)
            ->defaultValue([]);

        return $node;
    }
public static function appendNamespaces (string $description)
    {
        $treeBuilder = new TreeBuilder("namespaces");
        $node = \method_exists($treeBuilder, "getRootNode")
            ? $treeBuilder->getRootNode()
            : $treeBuilder->root("namespaces");

        $node
            ->scalarPrototype()->end()
            ->validate()
            ->ifTrue(
                function (array $paths)
                {
                    foreach ($paths as $namespace => $path)
                    {
                        if (1 !== \preg_match('~^' . Asset::NAMESPACE_REGEX . '$~', $namespace))
                        {
                            return true;
                        }
                    }

                    return false;
                }
            )
            ->thenInvalid("The namespaces must start with a-z and can only contain a-z and 0-9.")
            ->end()
            ->validate()
            ->ifTrue(
                function (array $paths)
                {
                    foreach ($paths as $path)
                    {
                        if (!\is_string($path))
                        {
                            return true;
                        }

                        if (false !== \strpos($path, "..."))
                        {
                            return true;
                        }
                    }

                    return false;
                }
            )
            ->thenInvalid("The namespaces can't be outside of the project root (and can't use '..' in their paths).")
            ->end()
            ->info($description)
            ->defaultValue([]);

        return $node;
    }
public static function appendNamespaces ( string $ description ) { $ treeBuilder = new TreeBuilder ( "namespaces" ) ; $ node = \ method_exists ( $ treeBuilder , "getRootNode" ) ? $ treeBuilder -> getRootNode ( ) : $ treeBuilder -> root ( "namespaces" ) ; $ node -> scalarPrototype ( ) -> end ( ) -> validate ( ) -> ifTrue ( function ( array $ paths ) { foreach ( $ paths as $ namespace => $ path ) { if ( 1 !== \ preg_match ( '~^' . Asset :: NAMESPACE_REGEX . '$~' , $ namespace ) ) { return true ; } } return false ; } ) -> thenInvalid ( "The namespaces must start with a-z and can only contain a-z and 0-9." ) -> end ( ) -> validate ( ) -> ifTrue ( function ( array $ paths ) { foreach ( $ paths as $ path ) { if ( ! \ is_string ( $ path ) ) { return true ; } if ( false !== \ strpos ( $ path , "..." ) ) { return true ; } } return false ; } ) -> thenInvalid ( "The namespaces can't be outside of the project root (and can't use '..' in their paths)." ) -> end ( ) -> info ( $ description ) -> defaultValue ( [ ] ) ; return $ node ; }
Appends the entries config entry

@param string $description
@return ArrayNodeDefinition|NodeDefinition
Appends the entries config entry