【问题标题】:App/Controller not found in REST API Project在 REST API 项目中找不到应用程序/控制器
【发布时间】:2022-01-27 03:56:49
【问题描述】:

这是纯php项目

这是我的 composer.json 代码,当我调试“CatalogController.php”文件时,它给了我以下错误。请帮我解决这个问题

https://prnt.sc/26jxg3y

文件夹结构

https://prnt.sc/26jxgyt

CatalogController.php - https://prnt.sc/26jxjw9

<?php
namespace App;
use Exception;

use App\Controller;
use App\CatalogModel;
use App\JwtMiddleware;
use App\RequestMiddleware;
class CatalogController extends Controller {
......
}

composer.json

{
  "require": {
    "klein/klein": "^2.1",
    "firebase/php-jwt": "^5.2"
  },
  "autoload": {
    "psr-4": {
      "App\": "App/"
    },
    "classmap": [
      "App/Controller",
      "App/Middleware",
      "App/Model"
    ]
  }
}

[+更新]

感谢我的团队。我解决了 90% 。但我得到了这个错误。 https://prnt.sc/26jzpxp

请帮我解决这个问题。

【问题讨论】:

  • 你最近扔过你的自动装载机吗?
  • 是的,先生。我做的 。但同样的结果在那里
  • @ChrisHaas 这是我的控制器类 - prnt.sc/26jxjw9
  • 虽然可能与您的问题无关,但作曲家文件的类图部分适用于非 PSR 代码(我认为)。丢弃您的供应商文件夹并重新运行 composer install 以及转储可能是值得的。如果失败,您可能需要破解打开的 vendor/composer/* 文件以查看您的代码是否在列表中。
  • 哦等等。您的控制器位于 Control 文件夹中,因此它们应位于 App\Controller 命名空间中

标签: php psr-4


【解决方案1】:
  1. 无效的命名空间App 或目录结构,请阅读 PSR-4 手册以了解其使用方式
  2. CatalogController.php 中的冗余导入 use App\*; - App 命名空间中的此类也是
  3. 无效的 JSON "App\"
  4. composer.json 中的冗余 classmap 部分 - 阅读 Composer 手册以了解其使用方式

【讨论】:

  • 感谢@WinterSilence,我添加了您的建议。现在90%解决了。但我得到了新的供应商相关错误。你能检查一下吗? prnt.sc/26jzpxp , prnt.sc/26jzq2t
  • @Amrith Sudarshan 你需要作曲家自动加载器吗?
  • 是的,先生-prnt.sc/26jzswb,这是我的文件夹结构-prnt.sc/26jztd5,这是自动加载器类映射-prnt.sc/26jzv67prnt.sc/26jzvm1
  • 视觉上一切正常,检查供应商目录 - 安装了 klein 包?
  • 是的,我仔细检查了@WinterSilence
猜你喜欢
  • 2021-10-31
  • 1970-01-01
  • 1970-01-01
  • 2019-02-02
  • 1970-01-01
  • 2014-02-27
  • 2021-07-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多