Índice

Espacios de nombres

Los espacios de nombres (namespace en inglés) permiten resolver dos problemas encontrados habitualmente con el uso de clases o librerías de funciones.

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

  • Manipulación de nombres particularmente largos que dejan el código difícil de escribir.

Este concepto se introdujo en la versión 5.3.

Un espacio de nombre se declara con la palabra clave namespace al principio del archivo, antes de cualquier otro código, excepto la instrucción declare, que está autorizada antes (si no, se produce un error fatal).

Ejemplo

<?php 
// Definición del espacio de nombres 
namespace MiLibreria;  
// 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 nombres se puede definir en varios archivos, lo que permite organizar el código en varios archivos agrupándolo en el interior del mismo espacio de nombres.

Se pueden definir múltiples espacios de nombres en un mismo archivo, pero no es una buena práctica de programación.

Se puede definir un espacio de nombres con subniveles utilizando el separador ...