1

我有一个项目结构,如下所示:

app/
app/models/
app/controllers/
app/views/
public/
vendor/
composer.json

在 app/controllers/IndexController.php 内部,我有:

require '../vendor/autoload.php';

use MyApp\Models\Test;

class IndexController {

    public function __construct() {
       $t = new Test(); // can't be found
    }
}

这是我的composer.json:

{
  "require": {
    "aws/aws-sdk-php": "*",
  },
  "autoload": {
    "psr-0": {
        "MyApp": "app/"
    }
  }
}

更新 composer.json 后,我运行 composer.phar update 来更新生成的自动加载文件。

仅供参考 - 我没有使用任何类型的 MVC 框架。这只是我喜欢用于小型项目的自定义轻量级结构。

如何修复我的项目,以便我可以从我的模型文件夹中自动加载类并在我的控制器中正确使用它们?

4

1 回答 1

2

如果你使用psr-0自动加载,那么你需要遵循 psr-0 规范。这意味着,如果您指定"MyApp": "app/",则 MyApp\Models\Test 类必须在app/MyApp/Models/Test.php.

于 2013-03-02T20:54:30.120 回答