public static function validateBundleNamespace($namespace, $requireVendorNamespace = true)
    {
        if (!preg_match('/Bundle$/', $namespace)) {
            throw new \InvalidArgumentException('The namespace must end with Bundle.');
        }

        $namespace = strtr($namespace, '/', '\\');
        if (!preg_match('/^(?:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*\\\?)+$/', $namespace)) {
            throw new \InvalidArgumentException('The namespace contains invalid characters.');
        }

        // validate reserved keywords
        $reserved = self::getReservedWords();
        foreach (explode('\\', $namespace) as $word) {
            if (in_array(strtolower($word), $reserved)) {
                throw new \InvalidArgumentException(sprintf('The namespace cannot contain PHP reserved words ("%s").', $word));
            }
        }

        // validate that the namespace is at least one level deep
        if ($requireVendorNamespace && false === strpos($namespace, '\\')) {
            $msg = array();
            $msg[] = sprintf('The namespace must contain a vendor namespace (e.g. "VendorName\%s" instead of simply "%s").', $namespace, $namespace);
            $msg[] = 'If you\'ve specified a vendor namespace, did you forget to surround it with quotes (init:bundle "Acme\BlogBundle")?';

            throw new \InvalidArgumentException(implode("\n\n", $msg));
        }

        return $namespace;
    }
public static function validateBundleNamespace($namespace, $requireVendorNamespace = true)
    {
        if (!preg_match('/Bundle$/', $namespace)) {
            throw new \InvalidArgumentException('The namespace must end with Bundle.');
        }

        $namespace = strtr($namespace, '/', '\\');
        if (!preg_match('/^(?:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*\\\?)+$/', $namespace)) {
            throw new \InvalidArgumentException('The namespace contains invalid characters.');
        }

        
        $reserved = self::getReservedWords();
        foreach (explode('\\', $namespace) as $word) {
            if (in_array(strtolower($word), $reserved)) {
                throw new \InvalidArgumentException(sprintf('The namespace cannot contain PHP reserved words ("%s").', $word));
            }
        }

        
        if ($requireVendorNamespace && false === strpos($namespace, '\\')) {
            $msg = array();
            $msg[] = sprintf('The namespace must contain a vendor namespace (e.g. "VendorName\%s" instead of simply "%s").', $namespace, $namespace);
            $msg[] = 'If you\'ve specified a vendor namespace, did you forget to surround it with quotes (init:bundle "Acme\BlogBundle")?';

            throw new \InvalidArgumentException(implode("\n\n", $msg));
        }

        return $namespace;
    }
public static function validateBundleNamespace ( $ namespace , $ requireVendorNamespace = true ) { if ( ! preg_match ( '/Bundle$/' , $ namespace ) ) { throw new \ InvalidArgumentException ( 'The namespace must end with Bundle.' ) ; } $ namespace = strtr ( $ namespace , '/' , '\\' ) ; if ( ! preg_match ( '/^(?:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*\\\?)+$/' , $ namespace ) ) { throw new \ InvalidArgumentException ( 'The namespace contains invalid characters.' ) ; } // validate reserved keywords $ reserved = self :: getReservedWords ( ) ; foreach ( explode ( '\\' , $ namespace ) as $ word ) { if ( in_array ( strtolower ( $ word ) , $ reserved ) ) { throw new \ InvalidArgumentException ( sprintf ( 'The namespace cannot contain PHP reserved words ("%s").' , $ word ) ) ; } } // validate that the namespace is at least one level deep if ( $ requireVendorNamespace && false === strpos ( $ namespace , '\\' ) ) { $ msg = array ( ) ; $ msg [ ] = sprintf ( 'The namespace must contain a vendor namespace (e.g. "VendorName\%s" instead of simply "%s").' , $ namespace , $ namespace ) ; $ msg [ ] = 'If you\'ve specified a vendor namespace, did you forget to surround it with quotes (init:bundle "Acme\BlogBundle")?' ; throw new \ InvalidArgumentException ( implode ( "\n\n" , $ msg ) ) ; } return $ namespace ; }
Validates that the given namespace (e.g. Acme\FooBundle) is a valid format.

If $requireVendorNamespace is true, then we require you to have a vendor
namespace (e.g. Acme).

@param $namespace
@param bool $requireVendorNamespace

@return string
Validates that the given namespace ( e . g . Acme \ FooBundle ) is a valid format .