无法在Slim 3上加载类

时间:2018-06-05 03:45:20

标签: php slim psr-4

我试图在Slim 3上加载模型的自定义类(使用骨架),所以我做了这个:

在app / composer.json中:

"autoload": {
    "psr-4": {
        "App\\Classes\\": "/src/classes"
    }
},

在routes.php中,我有这样的设置:

<?php

use Slim\Http\Request;
use Slim\Http\Response;
use Slim\Container;


// Routes
$app->get('/sugiere', function (Request $request, Response $response, array $args) {
    // Sample log message
    $this->logger->info("Slim-Skeleton '/' route");
    $cat_mapper = new \App\Classes\CategoryMapper($this->db);
    $comuna_mapper = new \App\Classes\ComunaMapper($this->db);
    $lang_mapper = new \App\Classes\LanguageMapper($this->db);
    $netw_mapper = new \App\Classes\NetworkMapper($this->db);
    $com_list = $com_mapper->getComunaList();
    $cat_list = $cat_mapper->getCategoryList();
    $lang_list = $lang_mapper->getLangList();
    $netw_list = $netw_mapper->getNetworkList();

顺便说一句,我在所有类中添加了名称空间App \ Classes。

1 个答案:

答案 0 :(得分:1)

您的路径/src/classes看起来不正确。您的src目录不太可能位于文件系统根目录中。

将您的composer.json文件更改为

"autoload": {
  "psr-4": {
    "App\\Classes\\": "src/classes/"
  }
}

并运行

composer dump-autoload

重新生成autoload.php文件。

请参阅https://getcomposer.org/doc/01-basic-usage.md#autoloading