Programación avanzada de PHP: cómo usar el espacio de nombres en PHP
Para los principiantes de PHP, el concepto de espacios de nombres parece bastante complejo. Pero, una vez que comprendemos los conceptos básicos de los espacios de nombres, es fácil de implementar. En este artículo, estudiamos cómo usar el espacio de nombres en PHP.
Como desarrollador, obtendrá una idea de la programación PHP avanzada mientras usa los espacios de nombres en su código.
PHP introdujo espacios de nombres para evitar conflictos de nombres entre clases, funciones y constantes.
Cuando trabajamos en un proyecto grande, puede haber posibilidades de que los programadores den los mismos nombres a clases, funciones o constantes. Por ejemplo, si 2 programadores definen la misma clase A, PHP arroja un error fatal como no puede volver a declarar la clase A.
Definir espacio de nombres en PHP
Para entender cuándo debemos definir el espacio de nombres, escribiremos algún fragmento de código.
Digamos que nuestro único desarrollador ha escrito un código a continuación en un archivo john.php. Este código es solo un ejemplo para explicar los espacios de nombres. Para simplificar, escribimos función, clase y constantes en el mismo archivo.
function my_name() {
echo "John";
}
class Programming {
function my_language() {
echo "PHP";
}
}
const MYCONST = 1;
Tenemos otro desarrollador que también usó el mismo nombre para clases, funciones y constantes pero para diferentes propósitos (salidas). Su nombre de archivo es sam.php.
function my_name() {
echo "Sam";
}
class Programming {
function my_language() {
echo "Python";
}
}
const MYCONST = 2;
Ahora, cuando ambos archivos del desarrollador estén incluidos en nuestro proyecto, obtendremos el error fatal. La razón del error es que no podemos usar el mismo nombre dos veces para una clase o método.
Aquí es donde deberíamos definir el espacio de nombres.
En ambos archivos PHP podemos definir espacios de nombres como se muestra a continuación.
<?php
namespace John;
function my_name() {
echo "John";
}
class Programming {
function my_language() {
echo "PHP";
}
}
const MYCONST = 1;
?>
Y
<?php
namespace Sam;
function my_name() {
echo "Sam";
}
class Programming {
function my_language() {
echo "Python";
}
}
const MYCONST = 2;
?>
Una vez que agregamos espacios de nombres a los archivos anteriores, los errores de PHP desaparecerán.
Usar espacios de nombres
En esta etapa, hemos terminado con la definición de espacios de nombres. El siguiente paso es cómo usar los espacios de nombres en PHP.
Para usar el método, la clase y las constantes de ambos programadores, necesitamos escribir un código de la siguiente manera.
<?php
require_once('john.php');
require_once('sam.php');
Sammy_name(); //output "Sam"
Johnmy_name(); //output "John"
$a = new SamProgramming();
$a->my_language(); //output "Python"
$b = new JohnProgramming();
$b->my_language(); //output "John"
echo JohnMYCONST; //output "1"
echo SamMYCONST; //output "2"
?>
Para acceder a clases o métodos, tenemos que agregar el nombre del espacio de nombres antes.
Esperamos que comprenda cómo usar el espacio de nombres en PHP. Si tiene alguna pregunta o sugerencia, deje un comentario a continuación.