class 未找到自动加载 psr-4

class not found autoloading psr-4

我正在学习 Composer 自动加载。我对 PSR-4 有一些疑问。

我正在学习本教程:https://vegibit.com/composer-autoloading-tutorial/

我已经检查了几个小时的代码,但是当我在浏览器中加载脚本时仍然遇到同样的问题:

Fatal error: Uncaught Error: Class 'VegibitLibraryGreeting' not found in C:\PHPWebPages\aldemo\aldemo4\index.php:5 Stack trace: #0 {main} thrown in C:\PHPWebPages\aldemo\aldemo4\index.php on line 5

我试过类似问题中提出的几种解决方案,但都没有解决。

我附上一些截图:

请有人帮我找出为什么会发生这个错误。 提前致谢。

备注:

我将在解决方案之后展示新代码,以便任何遇到相同问题的人都可以查看解决方案:

greeting.php:

您不能在同一个文件中声明两个命名空间。命名空间声明应该在 PHP 文件的最开头。 您还应该声明名称空间,因为它们在 composer.json:

中显示
namespace Vegibit\Library;

将此代码拆分为单独的文件。

index.php:

$vb = new Vegibit\Library\Greeting();