## Definición de espacios de nombres

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Aunque el código PHP válido puede contenerse en un espacio de nombres, solo los siguientes tipos de código pueden verse afectados por los espacios de nombres: las clases (incluyendo las abstractas, los traits y los enums), las interfaces, las funciones y las constantes.

Los espacios de nombres se declaran con la palabra clave `namespace`. Un archivo que contiene un espacio de nombres debe declarar el espacio al principio del archivo, antes de cualquier otro código, con una sola excepción: la palabra clave declare.

Ejemplo #1 Declaración de un espacio de nombres

    <?php
    namespace MonProjet;

    const CONNEXION_OK = 1;
    class Connexion { /* ... */ }
    function connecte() { /* ... */ }

> Nota: Los nombres completamente calificados (es decir, los nombres que comienzan con un backslash) no están autorizados en las declaraciones de espacios de nombres, ya que tales construcciones se interpretan como expresiones de espacio de nombres relativo.

El único elemento autorizado antes de la declaración de espacio de nombres es la instrucción `declare`, para definir la codificación del archivo fuente. Además, ningún código no-PHP puede preceder a la declaración de espacio de nombres, incluyendo espacios:

Ejemplo #2 Error de declaración de un espacio de nombres

    <html>
    <?php
    namespace MonProjet; // error fatal: el espacio de nombres debe ser el primer elemento del script

Además, a diferencia de otras estructuras de PHP, el mismo espacio de nombres puede definirse en varios archivos, lo que permite dividir el contenido de un espacio de nombres en varios archivos.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open