Несколько пространств имен в одном файле
Primary tabs
У Котерова в разделе "Пространство имен" на стр. 494 читаю следующее:
Оператор namespace должен располагаться в файле первым, до любых объявлений...Иначе скрипт завершится ошибкой
И на следующей странице:
В одном файле допускается использовать несколько пространств имен
И приводится соответствующий пример.
<?php #Объявление пространства имен: namespace PHP7\functions; //отладочная функция function debug($obj) { echo "<pre>"; print_r($obj); echo "</pre>"; } namespace PHP7\classes; //класс страницы class Page { //Заголовок protected $title; //Содержимое protected $content; //Конструктор класса public function __construct($title = '', content = '') { $this->title = $title; $this->content = $content; } } ?>
Так разве код, вызванный в предыдущем пространстве имен не является объявлением для следующего? То-есть, второй оператор namespace-же уже не располагается в файле первым. Какая тут логика?
- Log in to post comments
- 6236 reads
vedro-compota
Thu, 02/22/2018 - 14:46
Permalink
по формлению вопроса -- замечания
-- желательно этот пример всё же привести и тексте вопроса (код подсветить)
_____________
матфак вгу и остальная классика =)
Voronve
Thu, 02/22/2018 - 15:10
Permalink
Исправил.
Исправил.
vedro-compota
Thu, 02/22/2018 - 15:16
Permalink
причина
Судя по всему речь идёт о первом объявлении пространства в рамках файла скрипта.
Т.е. вот такое сработает:
а вот такое уже нет:
_____________
матфак вгу и остальная классика =)
Voronve
Thu, 02/22/2018 - 15:19
Permalink
Ага, теперь понял. Значит
Ага, теперь понял. Значит речь шла именно о первом объявлении. Спасибо.