找不到类自动加载psr-4

时间:2019-05-28 11:21:38

标签: php composer-php autoload psr-4

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

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

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

  

致命错误:未捕获错误:未找到类“ VegibitLibraryGreeting”   在C:\ PHPWebPages \ aldemo \ aldemo4 \ index.php:5堆栈跟踪中:#0 {main}   在第5行的C:\ PHPWebPages \ aldemo \ aldemo4 \ index.php中抛出

我已经尝试过类似问题中提出的几种解决方案,但尚未解决。

我附上了一些截图:

Tutorial directory enter image description here composer.json and greeting.php

请有人帮我找出发生此错误的原因。 预先感谢。

注意:

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

composer.json theme.php index.php

1 个答案:

答案 0 :(得分:2)

greeting.php:

您不能在同一文件中声明两个名称空间。命名空间声明应该在PHP文件的开头。 您还应该声明composer.json中出现的名称空间:

namespace Vegibit\Library;

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

index.php:

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