我安装了composer并在我的项目文件夹中启动。 因此,安装后,由composer在我的项目目录中创建的/ vendor文件夹。
之后,我创建了两个文件 1.abc.php 2.demo.php
在abc.php中,我的代码是:
namespace abc;
class abc
{
public function pm()
{
echo "test";
}
}
而我的demo.php文件代码是:
<?php
require_once __DIR__.'/vendor/autoload.php';
use abc\abc;
$abc = new abc();
我只想使用'namespace'和'use'方法访问'abc'类的pm()方法,而不使用此require_once'abc.php'。
但是我在调用demo.php时遇到错误。
Fatal error: Uncaught Error: Class 'abc\abc' not found in /opt/lampp/htdocs/mycomposer/demo.php:8
My File path : opt/lampp/htdocs/php/mycomposer/demo.php
opt/lampp/htdocs/php/mycomposer/abc.php
opt/lampp/htdocs/php/mycomposer/vendor
任何想法请分享。谢谢
答案 0 :(得分:3)
您可以编辑compose.json文件并添加以下内容
{
"autoload": {
"psr-4": {
"abc\\": "",
}
}
}
做
composer update
并测试
答案 1 :(得分:-1)
您应该使用require_once包含abc类所在的文件,如果成功,则需要仔细查看autoload.php的工作原理。