laravel5のエラー”Namespace declaration ~ in the script”

名前空間の宣言文は最初にしてくださいエラー

ルールを知らないと意味がわからずあせる。

laravel5laravel5・ajax・jqueryでPOSTするサンプル
西暦を平成○○年に変換する、laravelフレームワークを適応したajaxのサンプル

laravelを使って↑の手直しをしていたら、突然、処理のテストをしている時にエラーが出るようになった。

エラーになるようなこと何もしてへんぞ?と思いつつ、storage/logからlaravel.logを確認してみると……。

Namespace declaration statement has to be the very first statement in the scriptと怒られているようだ。

日本語にすると
名前空間の宣言文はスクリプト上で最初の最初に宣言しなくてはいけないんだよ!
……と言われているようです。very firstって滅茶苦茶強調してますね。

公式マニュアルを読むと、名前空間の前に書くことが許されているのは、コードのエンコーディングを定義するためのdeclare文のみ(例えばphpの場合”<?php”)だけなんですな。

それでheiseicon.phpを確認してみたら、

一行目にコメントが記述してある。

名前空間の宣言文以前に何も書いてはいけないって、コメントも例外ではないんですね。

そりゃそうか。htmlファイルを量産していると、何のファイルかわかるように冒頭にコメントをする癖があったりするので、知らぬまにエラーを起こしていたようです。

もちろんcakephpとかでも名前空間使用してるから、namespaceの上側には何も書けません。

スポンサーリンク