Задать вопрос
hummingbird
@hummingbird

Как исправить Fatal error: Namespace declaration statement has to be the very first statement in the script in /includes/init.php on line 3?

В файле /index.php (он лежит в корне) подключается файл /includes/init.php. Также в /index.php есть эти 2 строки:
define ( 'ROOT_DIR', dirname ( __FILE__ ) );
define ( 'INCLUDE_DIR', ROOT_DIR . '/includes' );


Вот содержимое файла /includes/init.php:
namespace Init;
include_once INCLUDE_DIR . "/classes/global.php";
use GlobalGL;
echo GlobalGL\GlobalClass::says(), "<br />\n";

Третья строка:
namespace Init;

Содержимое файла /includes/classes/global.php:
namespace GlobalGL;

class GlobalClass {
	static function says() {
		echo 'meoow';
	}
}


В чем проблема? Гугл много что выдает, вплоть до ошибки с кодировкой файла, но это явный бред в моем случае.

Если в файле /includes/init.php убрать:
namespace Init;
То выводит ошибку:
Fatal error: Namespace declaration statement has to be the very first statement in the script in /includes/classes/global.php on line 3
А на этой третьей строке это:
namespace GlobalGL;

То есть в любом случае ругается на namespace'ы. Пожалуйста, помогите...
  • Вопрос задан
  • 6539 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Glueon
@Glueon
DevOps
Не пробовали менять include на require?
Ответ написан
hummingbird
@hummingbird Автор вопроса
Вопрос решен. Можно закрывать тему.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы