Listo (Ctrl + Enter para ejecutar) Bootcamp Fullstack »
ejemplo.php
Tab = 4 espacios
1
<?php
declare(strict_types=1);

// ==========================================
// MÓDULO 1: Facturación Física (Tienda Local)
// ==========================================
namespace Kilopolis\TiendaFisica
{
    class Factura
    {
        public function __construct(
            private string $codigoTicket,
            private float $total
        ) {}

        public function imprimir(): string
        {
            return "🧾 Ticket Impreso Físico [{$this->codigoTicket}] - Total en caja: $" . number_format($this->total, 2);
        }
    }
}

// ==========================================
// MÓDULO 2: Facturación Digital (E-Commerce)
// ==========================================
namespace Kilopolis\TiendaDigital
{
    class Factura
    {
        public function __construct(
            private string $uuidFiscal,
            private float $total
        ) {}

        public function enviarXml(): string
        {
            return "📱 Factura Electrónica XML firmada [{$this->uuidFiscal}] enviada a la DIAN/Hacienda. Total: $" . number_format($this->total, 2);
        }
    }
}

// ==========================================
// CÓDIGO PRINCIPAL QUE CONSUME AMBOS MÓDULOS
// ==========================================
namespace
{
    // Usamos alias 'as' para que no colisionen
    use Kilopolis\TiendaFisica\Factura as FacturaFisica;
    use Kilopolis\TiendaDigital\Factura as FacturaDigital;

    $facturaSucursal = new FacturaFisica("TICKET-8492", 45.00);
    $facturaWeb      = new FacturaDigital("FE-9a8b-7c6d-5e4f", 189.99);

    echo "<h2>Convivencia Pacífica de Clases con Namespaces:</h2>";
    echo "<p style='color:#0284c7; font-family:system-ui;'>" . $facturaSucursal->imprimir() . "</p>";
    echo "<p style='color:#10b981; font-family:system-ui;'>" . $facturaWeb->enviarXml() . "</p>";
}
Haz clic para editar este código
Vista Previa
Servidor PHP 8.3