【问题标题】:Error accessing class when using Composer autoloader使用 Composer 自动加载器时访问类时出错
【发布时间】:2017-12-27 03:48:18
【问题描述】:

我有文件夹 app/Controllers/HomeController.php,在我的作曲家自动加载器中我这样写:

"autoload": {
        "psr-4": {
            "App\\": "app/",
        }
    },

但是当我尝试像这样从 public/index.php 访问我的文件时:

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

$home = new \App\Controllers\HomeController;

我遇到了这样的错误:

Fatal error: Uncaught Error: Class 'HomeController' not found in E:\laragon\www\slim\public\index.php:14 Stack trace: #0 {main} thrown in E:\laragon\www\slim\public\index.php on line 14

所以我在这里做错了吗?有关我的 HomeController 中的更多信息,我使用这样的命名空间:

namespace App\Controllers;

【问题讨论】:

  • 你在实际控制器中有正确的命名空间和类名吗?另外,为什么Appautoload-dev 之下,而不仅仅是autoload
  • 是的,在我的 HomeController 中,我将命名空间 App\Controllers;是的,我打算将其移至自动加载。它只是暂时的。

标签: php namespaces autoloader


【解决方案1】:

好的,答案是我必须让我的自动加载器变笨,它可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 1970-01-01
    • 2019-11-06
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    • 2013-02-17
    相关资源
    最近更新 更多