2014-11-23 176 views
0

錯誤:命名空間誤差ZF2

Fatal error: Namespace declaration statement has to be the very first statement in the script in C:\xampp\htdocs\zf2-tutorial\module\Album\Module.php on line 8 

Module.php

<?php 

namespace Application; 

use Zend\Mvc\ModuleRouteListener; 
use Zend\Mvc\MvcEvent; 

class Module 
{ 
public function onBootstrap(MvcEvent $e) 
{ 
    $eventManager  = $e->getApplication()->getEventManager(); 
    $moduleRouteListener = new ModuleRouteListener(); 
    $moduleRouteListener->attach($eventManager); 
} 

public function getConfig() 
{ 
    return include __DIR__ . '/config/module.config.php'; 
} 

public function getAutoloaderConfig() 
{ 
    return array(
     'Zend\Loader\StandardAutoloader' => array(
      'namespaces' => array(
       __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, 
      ), 
     ), 
    ); 
    } 
} 

我已經檢查了空格,正如你所看到的命名空間聲明後的第一個打開php標籤。無法弄清楚是什麼原因造成的。

回答

2

該錯誤告訴您在namespace declaration之前有任何輸出。

在文件中查找<?php之前的空格。這可能是由於某些編輯向UTF8文件添加了BOM,因此應將其保存爲「UTF8 without BOM」「Unicode」

+0

我會嘗試unicode的東西,看看這是否修復它,在我目前的IDE我檢查了空格。 – Tiberiu 2014-11-23 11:54:42

+0

我用UTF8保存了它,沒有BOM,它仍然輸出這個錯誤。唯一發生變化的是出現錯誤的行(第3行) – Tiberiu 2014-11-23 12:05:03

+0

您是否使用Windows?你在用什麼IDE?輸出可以在包含Module類的另一個文件中。 – Falc 2014-11-23 12:06:11