namespace{
function foo(){
echo __NAMESPACE__;
}
MyProject\foo();
}
namespace MyProject{
function foo(){
echo __NAMESPACE__;
}
foo(); // Output MyProject
Sub1\foo(); // Output MyProject\Sub1\foo
}
namespace MyProject\Sub1{
function foo(){
echo __NAMESPACE__;
}
\MyProject\Sub1\Sub2\foo(); // Output MyProject\Sub1\Sub2\
\MyProject\Sub1\foo(); // Output MyProject\Sub1
}
namespace MyProject\Sub1\Sub2{
function foo(){
echo __NAMESPACE__;
}
foo(); // Output MyProject\Sub1\Sub2
\foo(); // Output empty
}
Declaring sub-namespaces
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.
Declaring sub-namespaces
k2_4u at yahoo dot com
13-Sep-2009 11:40
13-Sep-2009 11:40
