ClassNotFoundError:尝试从命名空间“Endroid\QrCode\Builder”加载类“Builder”

问题描述 投票:0回答:1

我正在为

plugin
开发一个
Shopware 6
,我需要这个二维码库。我的问题是,当我尝试运行库时,我不断收到上述错误消息。

命名空间全部正确,一切都通过

Composer
安装并准备就绪。我的示例与
Packagist
上的示例完全相同,但我仍然收到此错误。

use Endroid\QrCode\Builder\Builder;
use Endroid\QrCode\Encoding\Encoding;
use Endroid\QrCode\ErrorCorrectionLevel;
use Endroid\QrCode\Label\LabelAlignment;
use Endroid\QrCode\Label\Font\NotoSans;
use Endroid\QrCode\RoundBlockSizeMode;
use Endroid\QrCode\Writer\PngWriter;

$result = Builder::create()
    ->writer(new PngWriter())
    ->writerOptions([])
    ->data('Custom QR code contents')
    ->encoding(new Encoding('UTF-8'))
    ->errorCorrectionLevel(ErrorCorrectionLevel::High)
    ->size(300)
    ->margin(10)
    ->roundBlockSizeMode(RoundBlockSizeMode::Margin)
    ->logoPath(__DIR__.'/assets/symfony.png')
    ->logoResizeToWidth(50)
    ->logoPunchoutBackground(true)
    ->labelText('This is the label')
    ->labelFont(new NotoSans(20))
    ->labelAlignment(LabelAlignment::Center)
    ->validateResult(false)
    ->build();

我还尝试用另一个库来实现它(

bacon/bacon-qr-code
),它也抱怨同样的问题,但只是不同的命名空间
ImageRenderer

问题可能是什么?我正在使用

Docker
(v4.34.4)、
Symfony
(v6.6.6.1) 和
PHP
(v8.3)

php symfony composer-php shopware
1个回答
0
投票

如果 PHP 位于 Docker 容器内,则 Composer 命令也应该在容器内运行。

您还可以尝试在 symfony 项目根目录下的容器内执行命令。

php bin/console cache:clear

composer dump-autoload -o
© www.soinside.com 2019 - 2024. All rights reserved.