PHP 7.0.6 Released

Declaring sub-namespaces

(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() { /* ... */  }

?>
The above example creates constant MyProject\Sub\Level\CONNECT_OK, class MyProject\Sub\Level\Connection and function MyProject\Sub\Level\connect.

User Contributed Notes

dak at pvpallday dot com
4 months ago
He was saying you cannot use '/' or '.' in the Namespace names.

Only '\'.
do dot not dot reply at foxmail dot com
1 year ago
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__
leaksin [ at ] gmail [ dot ] com
2 years ago
Never use slashes and dot in namespace declaration.

wrong formats:

<?php

namespace first\second.w;

?>

<?php

namespace first/second;

?>
maycon dot rodrigues1 at gmail dot com
1 month ago
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 .
steve dot pye at gmail dot com
1 year ago
Wait a minute. So the document says to declare it like:

namespace Something\SomethingElse;

and you're saying "never do that"? what the what?
To Top