Declarar subespacios de nombres

(PHP 5 >= 5.3.0, PHP 7)

Al igual que los directorios y ficheros, los espacios de nombres de PHP también tienen la capacidad de especificar una jerarquía de nombres de espacios de nombres. Así, un nombre de un espacio de nombres se puede definir con subniveles:

Ejemplo #1 Declarar un único espacio de nombres con jerarquía

<?php
namespace MiProyecto\Sub\Nivel;

const 
CONECTAR_OK 1;
class 
Conexión /* ... */ }
function 
conectar() { /* ... */  }

?>
El ejemplo de arriba crea la constante MiProyecto\Sub\Nivel\CONECTAR_OK, la clase MiProyecto\Sub\Nivel\Conexión y la función MiProyecto\Sub\Nivel\conectar.

add a note add a note

User Contributed Notes 5 notes

up
15
dak at pvpallday dot com
7 months ago
He was saying you cannot use '/' or '.' in the Namespace names.

Only '\'.
up
27
do dot not dot reply at foxmail dot com
1 year ago
treat sub-namespaces as different namespace

a.php:
<?php namespace ABC;
const
'__DOMAIN__' = 'example.com';
?>

b.php
<?php namespace ABC\SUBLEVEL;
require
'a.php';
echo
__DOMAIN__; //Notice: Use of undefined constant __DOMAIN__
up
38
leaksin [ at ] gmail [ dot ] com
2 years ago
Never use slashes and dot in namespace declaration.

wrong formats:

<?php

namespace first\second.w;

?>

<?php

namespace first/second;

?>
up
-1
maycon dot rodrigues1 at gmail dot com
4 months ago
The calling to a function, class or constant in the current code file can be:

<?php
namespace MyTest;

const
TEST = 777;

//in this way
echo \MyTest\TEST;

//Or this way
echo TEST// is the same "\MyTest\TEST".

You must notice others behavior for youself .
up
-143
steve dot pye at gmail dot com
1 year ago
Wait a minute. So the document says to declare it like:

namespace Something\SomethingElse;

and you're saying "never do that"? what the what?
To Top