Yii::import的文件里只能写一个class吗

Yii::import的文件里只能写一个class吗?

我的php文件里写了一个类一个接口,文件名是按class1来命名的,可是使用时抱错说找不到’interface1.php’…,Yii::import()是一个文件只能含有一个类吗?

class class1{

}

interface interface1{

}

难道你import interface1 了?

Yii::import,有两个参数,貌似没有注意第二个参数啊.Yii::import了class1,只是存储了class1的包含路径,并没有require它,再使用interface1接口,yii autload时只会在存储的静态数组中去查找。因为你没有定义interface1为key的import 路径 肯定会出错了。

有几种方法可供选择

第一,单独把接口拿出来,不要和类写在一起。和yii类似把所有接口写在一起(base/interfaces.php),直接在程序逻辑前面一次require

第二,非要写把它和类放在一个文件里的,在使用class1之后再去使用interface1,但这样又没有太大的意义。

第三,Yii::import(class1,true),在将class1类文件路径存储时,同时include该文件

推荐第一种方法

原来如此,多谢各位! :lol: