-1

我真的希望这不是重复的,但我走了:

我使用 Zend 的自动加载器来加载类。它似乎有效,至少它在实例化我的类(Common_TestTest)时加载了正确的文件,该类在 Common/TestTest.php 中实现。但随后我收到以下错误消息:

“在 Common/TestTest.php 中找不到类 Common_TestTest。”

除了类之外,TestTest.php 中没有任何内容:

<?php

class Common_TestTest extends PHPUnit_Framework_TestCase
{
    public function testTesting() {
        $this->assertTrue(true);
        $this->assertFalse(true);
    }
}

get_declared_classes我尝试在文件末尾转储,一切看起来都很好,Common_TestTest是声明的类之一 - 但是离开文件时仍然抛出异常。

最有趣的一点是:当我将类的名称从Common_TestTest更改TestTest为相同的事情时 - 只是错误消息将缺少的类的名称声明为"TestTest". 所以它肯定会看到班级并对它的存在做出反应。

4

1 回答 1

0

There are 2 possibilities that come to my mind as to what causes the problem:

  1. You have some case-mismatch between class-name and file-name, e.g. Testtest.php

  2. When registering the Namespace you use "Common" instead of "Common_". Zend_Loader_Autoloader does not distinguish between PHP 5.3 style namespaces and ZF-style namespaces (rather Prefix). By appending the underscore you make sure, that your namespace is interpreted as a class-prefix rather than a real namespace.

于 2012-01-30T13:43:15.593 回答