He was saying you cannot use '/' or '.' in the Namespace names.
Only '\'.
(PHP 5 >= 5.3.0, PHP 7)
Much like directories and files, PHP namespaces also contain the ability to specify a hierarchy of namespace names. Thus, a namespace name can be defined with sub-levels:
Example #1 Declaring a single namespace with hierarchy
<?php
namespace MyProject\Sub\Level;
const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */ }
?>
He was saying you cannot use '/' or '.' in the Namespace names.
Only '\'.
treat sub-namespaces as different namespace
a.php:
<?php namespace ABC;
const '__DOMAIN__' = 'example.com';
?>
b.php
<?php namespace ABC\SUBLEVEL;
require 'a.php';
echo __DOMAIN__; //Notice: Use of undefined constant __DOMAIN__
Never use slashes and dot in namespace declaration.
wrong formats:
<?php
namespace first\second.w;
?>
<?php
namespace first/second;
?>
The calling to a function, class or constant in the current code file can be:
<?php
namespace MyTest;
const TEST = 777;
//in this way
echo \MyTest\TEST;
//Or this way
echo TEST; // is the same "\MyTest\TEST".
You must notice others behavior for youself .
Wait a minute. So the document says to declare it like:
namespace Something\SomethingElse;
and you're saying "never do that"? what the what?