无法在 Slim 3 上加载 class

Can't load class on Slim 3

我正在尝试为 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。

您的路径 /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