У меня есть файл, который требует() пространство имен, как таковое:
<?php
require_once('Beer.php'); // This file contains the Beer namespace
$foo = new Beer\Carlsburg();
?>
Я хотел бы поместить пространство имен Beer непосредственно в один и тот же файл, например, этот пример (нерабочий):
<?php
namespace Beer {
class Carlsburg {}
}
$foo = new Beer\Carlsburg();
?>
Однако интерпретатор PHP жалуется, что No code may exist outside of namespace
. Поэтому я могу объявить объявление $foo
в пространстве имен, но затем я должен также обернуть Beer в это пространство имен, чтобы получить к нему доступ! Вот пример, который я стараюсь избегать:
<?php
namespace Main\Beer {
class Carlsburg {}
}
namespace Main {
$foo = new Beer\Carlsburg();
}
?>
Можно ли включить код для пространства имен Beer
в файл, но не обернуть объявление $foo
в его собственное пространство имен (оставьте его в глобальном пространстве имен)?
Спасибо.