我试图将Identicon库实现到我的网站,但是我收到了找不到类的错误。
我尝试使用Yii::import('application.vendor.*');
,所以我将库放在供应商文件夹中,但它不起作用。
我也尝试将库添加到组件控制器,但仍然给我错误。
我尝试在视图中导入
<?php
Yii::import('application.vendor.*');
$identicon = new Identicon;
$identicon->displayImage('test');
?>
但它告诉我错误,找不到这个类。我只是将src文件夹从zip复制到供应商和组件。我该如何导入这个库?
答案 0 :(得分:0)
如果您的文件夹结构类似于
-- root
-- protected
|---- vendors
|---- myfolder
|---- MyClass.php
您可以像这样导入
Yii::import('appplication.vendors.myfolder.MyClass');
因为yiis自动加载是基于文件名,如果在MyClass中定义了类 Identicon ,它将不会被加载,因为它具有不同的文件名,所以在这种情况下你必须使用:
Yii::import('appplication.vendors.myfolder.*' , true);
答案 1 :(得分:0)
我最后通过编辑库中的每个文件导入Identicon
库并将其存储到components / Identicon中。
似乎每个文件在代码上使用的命名空间都不允许Yii导入,因此它通过删除每个文件上的命名空间和use命令,然后将其导入配置文件来工作。
'import'=>array(
'application.models.*',
'application.components.*',
'application.components.Identicon.*'
),
注意:在生成器中找到的所有文件必须与Identicon.php所在的文件夹相同。
因此您可以使用该库,就像Identicon
中的自述文件
$Identicon = new Identicon;
$identicon->displayImage('foo'); //Displays the image.