Rolf B: Kann man PHP Header Angabe und Namespace Festlegung includen?

Beitrag lesen

Hallo Professor,

im Allgemeinen nicht. Gerade bei mir lokal mit PHP 7.1 probiert:

<?php
namespace Foo;

include "file2.inc";

function hallo() {
   echo "Foo - Hallo\n";
}

hallo();
welt();

und file2.inc:

<?php

namespace Bar;

function welt() {
   echo "Bar - Welt\n";
}

Starte ich file1.php, findet er die welt-Funktion nicht (er würde nach \Foo\welt suchen). Bar\welt sucht nach \Foo\Bar\welt und geht auch schief. Ich muss sie schon als \Bar\welt() aufrufen.

Es gibt ein paar Regeln nach denen PHP Namespaces durchsucht, vielleicht greift eine von denen bei Dir. Oder Du hast den Namespace mit use importiert.

Rolf

--
sumpsi - posui - obstruxi