PHP命名空间有致命错误

时间:2015-09-19 13:51:48

标签: php namespaces

我正在开发一个项目,但我似乎无法使命名空间起作用。

我有以下结构:

src文件夹:

- Searcher.php
- execSearch.php

在Searcher.php文件中(代表Searcher类),我有以下几行:

namespace search\Searcher;

并在execSearch.php中我尝试使用这样的命名空间:

use search\Searcher\Searcher;

我也试过了。

use search\Searcher;

但没有成功,我总是得到同样的错误:

Fatal Error: Class 'search\Searcher\Searcher' not found in searchExec.php

我还在我的composer.json文件中定义了以下内容:

    "autoload": {
    "psr-4": {
        "search\\Searcher\\": "src"
    }
}

如何正确使用命名空间,以便我可以在execSearch.php中使用该类?

1 个答案:

答案 0 :(得分:0)

使用PSR-4,您必须将search\Searcher\Searcher课程放在src\search\Searcher\Searcher.php文件中。

所以你的树看起来像这样:

composer.json
src/
   execSearch.php    (or searchExec.php?)
   search/
     Searcher/
       Searcher.php