downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Defining multiple namespaces in the same file> <Defining namespaces
Last updated: Fri, 06 Nov 2009

view this page in

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.



add a note add a note User Contributed Notes
Declaring sub-namespaces
k2_4u at yahoo dot com
13-Sep-2009 11:40
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
}

 
show source | credits | stats | sitemap | contact | advertising | mirror sites