2016-11-01 11 views
0

如果其中一個命名空間中的文件夾以「t」,「s」或「n」結尾,然後有一個子文件夾,然後它不會解析。以「t」,「s」,「n」結尾的PHP命名空間奇數文件夾

EX:

namespace DDM\Components\Widget\List; 

這會導致:Parse error: syntax error, unexpected 'List' (T_LIST), expecting identifier (T_STRING) in <...filepath...>

同樣的情況,與前面提到的其他兩個字母結尾的文件夾中。

我在Windows系統上,但該文件正在從Debian(傑西)箱服務,運行PHP版本5.6.27-0 + deb8u1通過nginx的和PHP-FPM

更新

如果我嘗試用\前綴整個名稱空間,那麼phpstorm不再將它識別爲語法錯誤,但php編譯器仍然會給出與上面相同的錯誤。

任何「L」名稱子目錄具有此結果

正如周杰倫List指出是一個PHP保留字,但是使用任何「L」的文件夾名稱的結果在不同的錯誤:

Fatal error: Undefined constant 'DDM\Components\Widget\Lists' 

任何建議表示讚賞。

回答

1

這是因爲List是保留關鍵字,即使在名稱空間中也不允許使用保留關鍵字。

PHP Reserved Keywords

+0

任何字beging的L似乎給了相同的結果'...的Widget \ Lothername;' – Chausser

+0

@Chausser命名空間僅在'PHP 5.3 +'支持。你的PHP版本是否正確? –

+0

即時運行的PHP 5.6 – Chausser