Espacios de Nombres
PHP Manual

Definir múltiples espacios de nombres en el mismo archivo

(PHP 5 >= 5.3.0)

También se pueden declarar múltiples espacios de nombres en el mismo archivo. Hay dos sintaxis permitidas.

Ejemplo #1 Declarar múltiples espacios de nombres, sintaxis de combinación simple

<?php
namespace MiProyecto;

const 
CONECTAR_OK 1;
class 
Conexión /* ... */ }
function 
conectar() { /* ... */  }

namespace 
OtroProyecto;

const 
CONECTAR_OK 1;
class 
Conexión /* ... */ }
function 
conectar() { /* ... */  }
?>

No se recomienda esta sintaxis para combinar espacios de nombres en un único archivo. En su lugar se recomienda usar la sintaxis de llaves alternativa.

Ejemplo #2 Declarar múltiples espacios de nombres, sintaxis de llaves

<?php
namespace MiProyecto {

const 
CONECTAR_OK 1;
class 
Conexión /* ... */ }
function 
conectar() { /* ... */  }
}

namespace 
OtroProyecto {

const 
CONECTAR_OK 1;
class 
Conexión /* ... */ }
function 
conectar() { /* ... */  }
}
?>

Se desaconseja encarecidamente, como práctica de código, el combinar múltiples espacios de nombres en el mismo archivo. El caso de uso principal es combinar múltiples scripts de PHP en el mismo archivo.

Combinar código global que no es de espacio de nombres con código que sí lo es, sólo está soportado mediante la sintaxis de llaves. El código global debería estar encerrado en una declaración de espacio de nombres sin nombre de espacio de nombres:

Ejemplo #3 Declarar múltiples espacios de nombres y código que no es de espacio de nombres

<?php
namespace MiProyecto {

const 
CONECTAR_OK 1;
class 
Conexión /* ... */ }
function 
conectar() { /* ... */  }
}

namespace { 
// código global
session_start();
$a MiProyecto\conectar();
echo 
MiProyecto\Conexión::iniciar();
}
?>

No puuede existir código de PHP fuera de las llaves del espacio de nombres excepto para una sentencia de apertura declare.

Ejemplo #4 Declarar múltiples espacios de nombres y código que no es de espacio de nombres

<?php
declare(encoding='UTF-8');
namespace 
MiProyecto {

const 
CONECTAR_OK 1;
class 
Conexión /* ... */ }
function 
conectar() { /* ... */  }
}

namespace { 
// código global
session_start();
$a MiProyecto\conectar();
echo 
MiProyecto\Conexión::iniciar();
}
?>


Espacios de Nombres
PHP Manual