3

我目前有以下 composer.json 文件:

{
    "require": {
        "slim/slim": "2.*"
    },
    "autoload": {
        "psr-0": { "App": "app/" }
    }
}

我正在尝试在 app 文件夹中实例化一个类,但自动加载器正在寻找:

/var/www/framework/app//App/App.php

显然第二个参数是包含命名空间的文件夹,而不是命名空间的根目录。我怎样才能让它加载:

/var/www/framework/app/App.php

提前致谢!

4

1 回答 1

1

最简单的解决方案是将文件夹从appto重命名App并设置

"psr-0": { "App": "." }

我想你需要一个自定义的自动加载器。但是,我建议遵循一些经过验证的用例:

src/App/App.php

"psr-0": { "App": "src" }

看起来很奇怪,但我必须说,我永远不会只调用命名空间或类(甚至两者)App;)它什么也没说,并且使用别名 ( use MyApplication as App) 没有理由再写尽可能短的标识符。

于 2012-10-03T19:45:08.497 回答