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 № 1Musisz 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.