使用Cakephp2.X中的Endroid / QrCode找不到QrCode类或找不到接口

时间:2017-09-27 01:50:10

标签: cakephp qr-code

我是cakePHP的新手,我试图在Cakephp2.x中运行Endroid / QrCode但没有成功。我的控制器如下所示:

 public function presta_my_function(){



    App::import('Vendor', 'Endroid\QrCode', array('file' => 'Endroid/QrCode/QrCode.php'));

在这种情况下,我收到以下错误: 2017-09-27 02:11:55错误:致命错误(1):界面' Endroid \ QrCode \ QrCodeInterface'在[C:\ MAMP \ htdocs \ xxxx \ app \ Vendor \ Endroid \ QrCode \ QrCode.php,第18行]中找不到。

另一方面,如果在加载QrCode.php之前尝试导入QrCodeInterface.php,我会收到以下错误: 2017-09-27 02:42:15错误:致命错误(1):Class' QrCode'在[C:\ MAMP \ htdocs \ xxx \ app \ Controller \ ActivitesController.php,第971行]中找不到。 在这种情况下,代码如下所示:

 public function presta_my_space(){


    App::import('Vendor', 'Endroid', array('file' => 'Endroid/QrCode/QrCodeInterface.php'));
    App::import('Vendor', 'Endroid\QrCode', array('file' => 'Endroid/QrCode/QrCode.php'));

Endroid \ QrCode安装在/ app / vendor / Endroid / QrCode中。 什么是失败的任何想法?

非常感谢你。

1 个答案:

答案 0 :(得分:0)

您不能使用endroid/QrCode包含基于命名空间的基于作曲家的库,例如App::import(),因为这只会加载单个文件。当然,您可以手动加载每个文件,但这不是一个好主意。

将CakePHP应用程序切换为使用composer(在摆弄此应用程序之前备份应用程序),然后抛弃App::import()并使用库as shown in their docs

参见 Cookbook > Installation > Advanced Installation