Cómo utilizar los NameSpaces en PHP

Desde la versión 5.3, PHP permite el uso de los conocidos como NameSpaces aunque esto no es nada nuevo. Se trata de una herramienta poderosa que permitirá a los desarrolladores la tarea del desarrollo del software y que todos deberían tener en cuenta a la hora de trabajar con este lenguaje de programación.

¿Qué son los NameSpaces?

Podemos decir que los NameSpaces es una forma de encapsular elementos utilizados en nuestro código. Según se va aumentando el número de librerías, aumenta las posibilidades de que coincidan mismos nombres de clases, funciones o constantes. Como todo el mundo sabe, PHP no permite esto, lanzando en este caso un error cuando detecta que se ha utilizado un mismo nombre para definir dos cosas distintas.

Con la llegada de los NameSpaces, este problema desaparece, ya que podemos declara en nuestro código el ámbito al que queremos que pertenezca una determinada clase, por lo que es posible definir más de una con el mismo nombre siempre y cuando no estén en el mismo espacio de nombres.

¿Cómo se definen los NameSpaces?

Por defecto, y mientras que no digamos lo contrario, PHP definirá todas las clases, funciones y constantes en un espacio global. Esto sucederá con todas las librerías y código realizado con versiones de PHP anteriores a las 5.3 ya que aún no permitía el uso de los NameSpaces, pero a partir de esta versión, es muy recomendable que lo empecemos a utilizar. Para ello, lo único que debemos hacer es hacer uso de la palabra clave “namespace” seguido del nombre que le queremos asignar. Esto debería ir al principio del archivo, antes de cualquier otra línea de código.

namespace MiProyecto


Otra opción que tenemos es la de definir subnamespaces para poder tener nuestro código mejor estructurado. Para llevar a cabo esto, haremos uso de la barra invertida (). Veamos algunos ejemplos.

namespace MiProyectoBD
namespace MiProyectoPDF


Utilizar los NameSpaces

Ahora que sabemos cómo declarar estos espacios de nombres, es hora de saber cómo hacer uso de esas clases, funciones y constantes definidas en ellas.

Supongamos que tenemos una clase con el nombre “miClase.php” y dentro de ella la función “miFuncion()”

namespace MiProyecto;
const CONSTANTE = 'Constante de Ejemplo';
class MiClase{
static function miFuncion(){
// código de la función
}
}


Lo primero que debemos hacer es incluir el archivo donde está definido el espacio de nombres para poder utilizarlo.

include miClase.php


Tras la importación del archivo, para poder hacer uso de esa función, habría que poner toda la ruta completa de nuestro espacio de nombres.

$resultado = MiProyectoMiClase:miFuncion();
$constante = MiProyectoCONSTANTE ;


Esto tiene el inconveniente de tener que estar escribiendo todo nuestro espacio de nombres cada vez que queremos utilizar algo, pero para evitar esto, existe la importación de los namespaces por medio del uso de la palabra reservada “use”, pudiendo importar todos los que necesitemos utilizar.

De esta forma, el ejemplo anterior quedaría de esta otra.

include miClase.php
use MiProyecto;
$resultado = MiClase:miFuncion();
$constante = CONSTANTE ;


Cómo veis, el uso de los nombres de espacio nos puede ser de gran utilidad para el desarrollo de nuestras aplicaciones, sobre todo cuando son varias las personas que trabajan en un mismo proyecto. De esta forma se evita la aparición de errores por el uso de nombres ya utilizados.
COMPARTE ESTA NOTICIA

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +