That's the expected behavior, you have to declare the namespace at the top of the file to "extend" it.
If you include a global namespaced file, it will operate on the global namespace.
Global space
(PHP 5 >= 5.3.0)
Without any namespace definition, all class and function definitions are placed into the global space - as it was in PHP before namespaces were supported. Prefixing a name with \ will specify that the name is required from the global space even in the context of the namespace.
Example #1 Using global space specification
<?php
namespace A\B\C;
/* This function is A\B\C\fopen */
function fopen() {
/* ... */
$f = \fopen(...); // call global fopen
return $f;
}
?>
xmarcos at gmail dot com ¶
11 months ago
