Class 在 psr-4 作曲家自动加载中找不到
Class not found in psr-4 composer autoloading
我有一个包含供应商文件夹的基础文件夹,其中包括 composer 文件夹和我创建的文件夹 src。 src 文件夹包含工作所需的所有 classes。
在 src 文件夹中,我有下面的 class 示例
<?php
namespace Test;
class Example{
public function display(){
echo "This is Example Class";
}
}
?>
我的 composer.json 有以下内容:
{
"autoload":{
"psr-4":{
"Test\":"src"
}
}
}
最后,我在基本文件夹的测试文件中创建示例 class 的实例:
<?php
require 'vendor/autoload.php';
$a=new Test\Example();
$a->display();
?>
问题是当我尝试 运行 测试文件时发生以下错误:[致命错误:未捕获错误:Class 'Test\Example' 未找到。]
请帮我看看我做错了什么,Here是目录结构的屏幕截图。
提前致谢。
老实说,我不确定您的 src
、testing.php
和 composer.json
位于何处,但它们应该位于主目录中(在您的情况下为 2-Basic -example 而不是 vendor
目录中)。然后 运行:
composer dump-autoload
假设您的 Example
class 在 src
目录
中保存为 Example.php
,它应该可以工作
我有一个包含供应商文件夹的基础文件夹,其中包括 composer 文件夹和我创建的文件夹 src。 src 文件夹包含工作所需的所有 classes。
在 src 文件夹中,我有下面的 class 示例
<?php
namespace Test;
class Example{
public function display(){
echo "This is Example Class";
}
}
?>
我的 composer.json 有以下内容:
{
"autoload":{
"psr-4":{
"Test\":"src"
}
}
}
最后,我在基本文件夹的测试文件中创建示例 class 的实例:
<?php
require 'vendor/autoload.php';
$a=new Test\Example();
$a->display();
?>
问题是当我尝试 运行 测试文件时发生以下错误:[致命错误:未捕获错误:Class 'Test\Example' 未找到。]
请帮我看看我做错了什么,Here是目录结构的屏幕截图。 提前致谢。
老实说,我不确定您的 src
、testing.php
和 composer.json
位于何处,但它们应该位于主目录中(在您的情况下为 2-Basic -example 而不是 vendor
目录中)。然后 运行:
composer dump-autoload
假设您的 Example
class 在 src
目录
Example.php
,它应该可以工作