No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Namespaces

17/22
Recursos

Aportes 9

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Decidí mostrar ambos:

ahora se como renombrar namespaces

🪲 No sé si tiene algo que ver con algo. Pero durante la clase, al meter los archivos michi.php a las otras carpetas tuve el siguiente error: `Warning: require(../logic/CreateMichis.php): Failed to open stream: No such file or directory in D:\Desarrollo\cursos\curso-cookies-modularizacion\namespaces\index.php on line 3` Al hablar con chatGPT un rato, me sugirió usar `__DIR__ .` de forma que el archivo CreateMichis.php que do asi: `
La mejor explicación sobre namespaces que he visto en años! Gracias Retax!!

Otro ejemplo en un caso real sería en un sistema de condominios. El sistema central (dominio, system) y los sistemas de los condominios (subdominios, tenants), cada uno con un funcionamiento diferente, es decir, si existen empleados tanto en el sistema central como en los sistemas de los condominios, entonces se crean dos carpetas diferentes: ‘system’ y ‘tenant’. Así cuando quiera modificar el modelo de los empleados en el sistema del condominio (tenant), llamo al modelo ‘Employee’ que se encuentra en la carpeta ‘tenant’. Así, puedo hacer que dos clases se llamen igual. pero con diferente propósito.

Una extensión de visual studio code que nos puede ayudar mucho con la ruta de los archivos es: relative Pat, que con ctrl+shift+h nos abre un buscador donde elegimos el archivo del que queremos la ruta y la genera automáticamente.

El termino adeacuado en el caso de los namespace con clases del mismo es nombre es alias.

Un namespace no es más que un directorio para clases, traits, interfaces, funciones y constantes. Se crean utilizando la palabra reservada namespace al principio del archivo, antes que cualquier otro código, a excepción de la estructura de control declare.

::: NAMESPACES :::

Tambien conocidos como espacios de nombres son los apellidos" que les podemos dar a una clase,es decir,podemos tener dos clases con el mismo nombre,pero distintos apellidos (espacios de nombre)

A quienes afecta

Aunque podemos escribir cualquier cÓdigo dentro de un espacio de nombre, los unicos tipos de codigo que seran afectados son las clases (incluyendo abstractas y traitsn funciones y constantes

como utilizarlo:

namespace {folder/folders}

archivo que cargue esas clases/objetos

require DirectorioDelObjeto\NombreDelObjeto;
use namespaceDelObjeto\NombreDelObjeto as aliasDelObjeto//(opcional);

miObjetoNuevo = new NombreDelObtejo()

<aside>
💡 No puede haber aliasRepetidos en tu archivo, se tienen que diferenciar con un alias.

</aside>