Anexsoft | Blog y dictado de cursos de Tecnología

En este encontrarás tutoriales de tecnología como PHP, ASP.NET MVC, Front-End, entre otros y cursos exigentes de modalidad online que te ayudarán a crecer profesionalmente.

¿Qué son? y ejemplo de Namespaces en PHP
Actualizado el 18 Octubre, 2016 y leído 1,745 veces
Calificación: 10.00 / 10

¿Qué son? y ejemplo de Namespaces en PHP

Anexsoft

En pocas palabras un espacio de nombre o Namespace es un contenedor que nos permite agrupar nuestro código para darle un uso posterior de esta manera evitamos conflictos de nombre. Por ejemplo, tenemos 2 funciones con el mismo nombre esto generaría un conflicto de nombre pero mediante el uso de namespace damos solución a este problema.

Pero la mejor definición que le puedo dar a los Namespace es que nos ayuda y sirven para organizar, restructurar mejor nuestro código.

 

¿Cómo declarar un namespace?

Para declarar un Namespace como recomendación lo haremos siguiendo la secuencia las carpetas, por ejemplo yo he creado una clase llamado Hello en la siguiente ruta anexsoft/helpers/Hello.php. Por lo tanto mi namespace sería el siguiente:

namespace Anexsoft\Helpers;

class Hello {
    public static function sayHello(){
        return 'Hello World';
    }    
}

 

¿Cómo hacer uso de los namespace?

Como vimos en el código anterior la clase contiene un método estático por lo cual no hace falta instaciarlo para llamarlo. Entoces yo haré una prueba en mi archivo index.php para llamar al método.

<?php
require_once 'anexsoft/helpers/Hello.php';

echo Hello::sayHello();

Y obtendremos el siguiente error

Class 'Hello' not found in C:\wamp64\www\tutoriales\namespace\index.php on line 4

Porque como mencione los namespaces son contenedores para agrupar código, por lo tanto si queremos hacer uso del método de la clase Hello debemos llamar al namespace y hay 2 formas de hacerlo.

La primera es hacer uso de la palabra reserva use

use Anexsoft\Helpers\Hello;

echo Hello::sayHello();

Esta forma es recomendada si vamos hacer uso de la clase Hello varias veces.

La segunda forma es llamarlo directamente

echo Anexsoft\Helpers\Hello::sayHello();

En este ejemplo el Namespace será llamado una sola vez por lo tanto no hace falta hacer el Use, si vamos a usar más cosas que contiene el namspace entonces mejor es hacer uso del use.

 

Agrupando funciones y constantes

Namespace

namespace Anexsoft\Helpers;

const user = 'eduardo';

function sayHelloTo(){
    return 'Hello ' . user; 
}

Ejemplo de uso: con funciones

use function Anexsoft\Helpers\sayHelloTo;
echo sayHelloTo();

Ejemplo de uso: con constantes

use const Anexsoft\Helpers\user;
echo user;

 

Como invocar varios espacios de nombre

Si bien podemos hacer uso de varios "USE" lo que me gusta hacer a mi es separarlo con ",".

use Anexsoft\Core\Database,
    Anexsoft\Core\Http,
    Anexsoft\Core\Exceptions,
    Anexsoft\Core\Helpers,
    Anexsoft\Core\Crypt;

En PHP 7 si estamos trabajando con el mismo espacio de nombre podemos separarlo por llaves.

use Anexsoft\Core\{Database, Http, Exceptions, Helpers, Crypt};

 

¡Adquiera ya!

  • Código de fuente de Red Social desarrollada en ASP.NET MVC

    Código de fuente de Red Social desarrollada en ASP.NET MVC
  • Software de Venta e Inventario hecho en PHP y Codeigniter

    Software de Venta e Inventario hecho en PHP y Codeigniter

Últimas publicaciones

Encuesta

¿Cómo nos conociste?

Síguenos

Estudia con nosotros y crece profesionalmente

Nuestros cursos han sido hecho en base a lo que demanda el mercado hoy en día.
La experiencia obtenida es la de un ambiente laboral.

Anexsoft
© 2017 Anexsoft, blog y cursos online de TI.