PHP:致命错误:未捕获的错误:在demo.php中找不到类'abc \ abc'

时间:2018-08-30 06:31:17

标签: php composer-php

我安装了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

任何想法请分享。谢谢

2 个答案:

答案 0 :(得分:3)

您可以编辑compose.json文件并添加以下内容

{
    "autoload": {
        "psr-4": {
            "abc\\": "",
        }
    }
}

composer update

并测试

检查https://getcomposer.org/doc/04-schema.md#psr-4了解更多详细信息

答案 1 :(得分:-1)

您应该使用require_once包含abc类所在的文件,如果成功,则需要仔细查看autoload.php的工作原理。