1

我正在尝试在我的网站上实现Identicon库,但我收到找不到类的错误。

我尝试过,Yii::import('application.vendor.*');所以我将库放在供应商文件夹中,但它不起作用。

我也尝试将库添加到组件控制器,但仍然给我错误。

我尝试在代码所在的视图中进行导入

<?php
    Yii::import('application.vendor.*');
    $identicon = new Identicon;

    $identicon->displayImage('test');
?>

但它告诉我找不到这个类的错误。我只是将 src 文件夹从 zip 复制到供应商和组件。我怎样才能导入这个库?

4

2 回答 2

0

我最终Identicon通过编辑库中的每个文件来导入库并将其存储到组件/标识中。

似乎每个文件在代码中使用的命名空间不允许 Yii 导入,因此它通过删除每个文件上的命名空间和 use 命令来工作,然后将其导入配置文件中。

'import'=>array(
        'application.models.*',
        'application.components.*',
        'application.components.Identicon.*'
),

注意:在生成器中找到的所有文件必须与 Identicon.php 位于同一文件夹中。

所以你可以像自述文件一样使用这个Identicon

$Identicon = new Identicon;

$identicon->displayImage('foo'); //Displays the image.
于 2014-08-31T22:26:17.043 回答
0

如果您的文件夹结构像

-- root
-- protected
      |---- vendors
            |---- myfolder
                     |---- MyClass.php

你可以像这样导入它

 Yii::import('appplication.vendors.myfolder.MyClass');

由于 yiis 自动加载是基于文件名的,如果在 MyClass 中定义了Identicon类,它不会被加载,因为它有不同的文件名,所以在这种情况下你必须使用:

 Yii::import('appplication.vendors.myfolder.*' , true);
于 2014-08-19T04:23:14.707 回答