请求.严重:未捕获的 PHP 异常编译错误:无法声明类



我使用以下两个同名的类。

/

src/AppBundle/Qrcode.php

namespace AppBundleQrcode;
use EndroidQrCodeQrCode;
class Qrcode
{

/

vendor/Endroid/.../Qrcode.php

namespace EndroidQrCode;
use EndroidQrCodeExceptionsDataDoesntExistsException;
use EndroidQrCodeExceptionsVersionTooLargeException;
use EndroidQrCodeExceptionsImageSizeTooLargeException;
use EndroidQrCodeExceptionsImageFunctionUnknownException;
use ReflectionFunction;
class QrCode
{

在开发中它运行良好,但在生产上则不行,因为我收到以下错误消息:

请求。严重:未捕获的 PHP 异常 Symfony\Component\Debug\Exception\FatalErrorException: "编译错误: 无法声明类 AppBundle\Qrcode,因为名称是 已经在使用中",见.../src/AppBundle/Qrcode.php第8行。

我不明白为什么它不起作用。命名空间不同,并且它适用于开发部分...谢谢

您需要用别名区分类QrCode因为类被加载了两次。

在, /src/AppBundle/Qrcode.php

namespace AppBundleQrcode;
use EndroidQrCodeQrCode as EndroidQr // assign alias here to differnciate class

在此之后,new EndroidQr();将实例化一个EndroidQrCodeQrCode

注意:- 如果要在文件中加载一个具有相同类名的类,则需要分配别名。

希望对您有所帮助:-)

相关内容

最新更新