PHPUnit错误未定义变量

时间:2014-11-27 05:18:57

标签: php error-handling zend-framework2 phpunit

我正在运行PHPunit来测试我的ZF2应用程序。我在我的Windows机器上(在xampp下)尝试过,它工作正常。但是当我将它移动到虚拟的Ubuntu 14.10服务器时,每次测试都会出现以下错误:

Undefined variable: services

我去了/etc/php5/cli/php.ini并设置错误报告如下:

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE

测试指向的代码来自我的一个Module.php文件

public function onBootstrap(MvcEvent $event)
{
    $sharedEventManager =  $event->getApplication()
        ->getEventManager()
        ->getSharedManager();

    $sharedEventManager->attach('user', 'log-fail', function($event) use ($services) {
        $username = $event->getParam('username');


        $log = $services->get('log');
        $log->warn("Error logging user [$username]");
    });
}

它特别抱怨行$sharedEventManager->attach('user', 'log-fail', function($event) use ($services)。就像我说的,我尝试编辑php.ini文件以禁止这样的警告,但它不起作用。还有其他我想念的东西吗?

1 个答案:

答案 0 :(得分:0)

好的,我明白了。正如Indrasinh Bihola说的那样:我已经离开了一部分。好吧,这本书做到了。我借用的片段来自前面的部分,但它跳过关键部分,并没有说明原始部分在哪里(37页回来!)。另外,不要找借口,但我从来没有在PHP中使用过闭包,我不知道实际上有什么用($ services)。现在我做。我不会再犯同样的错误了。