错误:
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标签之后的第一个。无法弄清楚造成这种情况的原因。
答案 0 :(得分:2)
该错误告诉您namespace declaration之前有任何输出。
在文件中查找<?php
之前的空格。这可能是由于某些编辑器将BOM添加到UTF8文件中,因此您应将其保存为&#34; UTF8而不使用BOM&#34; 或&#34; Unicode&# 34。