O namespace é declarado usando a palavra chave namespace, que deve ser usada logo no começo do arquivo. Exemplo:
Exemplo #1 Defining namespace
<?php
namespace MyProject\DB;
const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */ }
?>
Namespace pode conter definições de classes, constantes e funções, mas não código livre.
Definição do Namespace fazem seguinte:
Nome não qualificado de classe (i.e., nome não contém \) são resolvido em runtime seguindo este procedimento:
Nome não qualificado de função (i.e., nome não contém \) é verificado em tempo de execução primeiro no namespace atual e então no espaço global.
Nome de constantes não qualificada são verificadas primeiro no namespace atual e então entre as constantes globalmente definidas.