/ / Czy instrukcja przestrzeni nazw może być „włączona” w PHP? - php, przestrzenie nazw, php-include

Czy oświadczenie przestrzeni nazw może być "zawarte" w PHP? - php, namespaces, php-include

Mam plik, który wygląda następująco:

<?php
namespace n;
f(); // this calls nf()

Instrukcje PHP można dołączać za pomocą include funkcja ta jednak nie działa dla namespace komunikat:

<?php
include("example_include_namespace_statement.php")
f(); // this doesn"t call nf()

example_include_namespace_statement.php:

<?php
namespace n;

Czy jest jakiś sposób na „włączenie” instrukcji przestrzeni nazw w PHP?

Czy po prostu nie jest to możliwe?

Odpowiedzi:

2 dla odpowiedzi № 1

Musisz określić przestrzeń nazw podczas wywoływania funkcji znajdującej się w przestrzeni nazw, tak jak poniżej:

// test.php
namespace test;
function doesItWork() {
return "It Works!";
}
// index.php
include "test.php";
echo testdoesItWork();

Jeśli chcesz użyć funkcji zdefiniowanej w przestrzeni nazw, która znajduje się poza bieżącą przestrzenią nazw, musisz poprzedzić ją znakiem przestrzeni nazw, tak jak poniżej:

echo testdoesItWork();

Powinieneś przeczytać dokumentacja przestrzeni nazw.