Índice

Espacios de nombres Espacios de nombres namespace

Los espacios de nombres (namespace en inglés) permiten resolver dos problemas frecuentes en el uso de clases o de bibliotecas de funciones:

  • Uso de un mismo nombre (clase, función, constante) en dos bibliotecas.

  • Manipulación de nombres especialmente largos que hacen que el código sea difícil de escribir.

Un espacio de nombre se declara con la palabra clave namespace al principio de un archivo, antes de cualquier otro código, a excepción de la instrucción declare, que se autoriza antes (de lo contrario, se produce un error grave).

Ejemplo

<?php 
// Definición del espacio de nombre. 
namespace MiBiblioteca; 
// Definición de una constante. 
const UNO = 1; 
// Definición de una clase. 
class unaClase { 
 /* 
 ... 
 */ 
} 
// Definición de una función. 
function unaFunción() { 
 /* 
 ... 
 */ 
} 
?>

El mismo espacio de nombre se puede definir en varios archivos, lo que permite organizar el código en varios archivos, agrupándolo dentro del mismo espacio de nombre.

Es posible definir varios espacios de nombres en un mismo archivo, pero no es una buena práctica de codificación.

Un espacio de nombre se puede definir con subniveles, utilizando el separador de la barra invertida (\): MiBiblioteca\Sub\Nivel.

De forma predeterminada, si no se define un espacio de nombre, todas las definiciones (clases, ...