编辑器未自动加载所需的类



我是作曲家的新手,我真的很努力用作曲家自动加载我的类。在以下过程中我缺少什么?

我在我的 PHP 包含文件夹(位于文档根目录之外 - 我不确定这是否重要)中安装了该软件包,如下所示:

composer require monologmonolog

它说它成功完成,我确认该项目已添加到我的供应商文件夹中。

我的整个 composer.json 文件如下所示:

{
"require": {
"monolog/monolog": "^1.22"
}
}

我的整个测试文件如下所示:

<?php
require_once "vendor/autoload.php";
use MonologLogger;
$log = new Logger("name");
?>

加载页面时出现此错误:

Fatal error: Uncaught Error: Class 'MonologLogger' not found in C:DropboxProjectsWebWebsitesInstamationwwwrootqbtest.php:6 Stack trace: #0 {main} thrown in C:DropboxProjectsWebWebsitesInstamationwwwrootqbtest.php on line 6

它包括供应商/自动加载.php文件,没有任何错误。

我尝试在作曲家中运行这些命令而没有任何更改:

composer update
composer dump-autoload -0

我也尝试过使用不同的软件包,但遇到了相同的错误,所以我很确定它与 monolog 包无关。

我在这里缺少一个步骤吗?如果我在作曲器中需要它们,我不需要手动定义要在 json 文件中自动加载的类,对吗?

编辑 1:

根据要求,这是我不同文件的路径。

测试页的路径:

C:DropboxProjectsWebWebsitesInstamationwwwrootqbtest.php

composer.json 文件的路径(在文档根目录之外,但在我的包含路径中):

C:DropboxProjectsWebWebsitesInstamationwwwincludescomposer.json

我的供应商文件夹在这里:

C:DropboxProjectsWebWebsitesInstamationwwwincludesvendor

在我的供应商文件夹中,我有这些文件夹和文件:

bin/
composer/
monolog/
psr/
autoload.php

您需要在qbtest.php中包含自动加载,如下所示:

require_once "../wwwincludes/vendor/autoload.php";
use MonologLogger;
$log = new Logger("name");

相关内容

  • 没有找到相关文章

最新更新