mehrere `namespace` in einer Datei


zwei Möglichkeiten


1. mehrere Namespace-Blöcke (empfohlen)

<?php

namespace MeinNamespace\ErsteKlasse;

function hello() {
    return "Hallo aus dem ersten Namespace";
}

const VERSION = "1.0";


namespace MeinNamespace\ZweiteKlasse;

function hello() {
    return "Hallo aus dem zweiten Namespace";
}


namespace {
    // Globaler Namespace (Fallback)
    function globalHello() {
        return "Hallo aus dem globalen Namespace";
    }
}


2. Batch-Declaration (ohne geschweifte Klammern)

<?php

namespace MeinNamespace\Utils;

function add(int $a, int $b): int {
    return $a + $b;
}


namespace MeinNamespace\Helpers;

function formatDate(DateTime $date): string {
    return $date->format('d.m.Y');
}


Aufruf der Funktionen

<?php

require_once 'meine_datei.php';

use function MeinNamespace\Utils\add;
use function MeinNamespace\Helpers\formatDate;

echo add(5, 3);                  // Ausgabe: 8
echo formatDate(new DateTime()); // Ausgabe: 24.03.2026

// oder direkt mit vollständigem Pfad
echo \MeinNamespace\Utils\add(10, 20);


Beispiel Tools.php

<?php
namespace App\Utils;

class StringUtils
{
    public static function capitalize(string $str): string
    {
        return ucfirst($str);
    }
}

namespace App\Helpers;

function debug(mixed $var): void
{
    echo "<pre>";
    var_dump($var);
    echo "</pre>";
}