a ver, en un script voy a invocar dos clases que se llaman igual cSaludo pero son de diferentes namespaces
fichero: iaccion.php
Código PHP:
Ver original<?php namespace mi_paquete;
interface IAccion
{
public function ejecutar();
}
fichero cSaludo.php
Código PHP:
Ver original<?php
namespace mi_paquete;
require_once('iaccion.php');
use mi_paquete\IAccion ;
class cSaludo implements IAccion
{
public function ejecutar()
{
print "hola que tal soy ".__CLASS__."\n";
}
}
fichero: cOtroSaludo.php
Código PHP:
Ver original<?php
namespace mi_otro_paquete;
class cSaludo
{
public function ejecutar()
{
print "hola que tal soy ".__CLASS__."\n";
}
}
y el script cliente: file.php
Código PHP:
Ver original<?php
namespace mi_app;
require_once('cSaludo.php');
require_once('cOtroSaludo.php');
use \mi_paquete\cSaludo;
$saludo = new cSaludo();
echo $saludo->ejecutar();
$saludo2 = new \mi_otro_paquete\cSaludo();
echo $saludo2->ejecutar();
output: Se cargaron dos clases con el mismo nombre y no chilla