我在模型层
中调用fileForm中的外部库namespace app\models;
use Yii;
use yii\base\Model;
include "../lib/libchart/classes/libchart.php"; //external library
但是Yii2无法识别该外部库中的变量,错误是:" PHP致命错误 - yii \ base \ ErrorException - Class' app \ models \ LineChart'找不到"
我在fileForm中有以下功能:
public function insertGrafic()
{
$chart = new LineChart();
...
}
缺少什么?感谢。
答案 0 :(得分:0)
尝试在配置文件中添加库作为组件。
Write & use a custom Component in Yii2.0
'components' => [
'libchart' => [
'class' => 'class Path',
],
然后使用您的组件方法:
Yii::$app->libchart->method();
答案 1 :(得分:0)
yii2是完全命名空间的。而不是使用包含你必须使用命名空间。根据错误消息,它看起来外部库有一个命名空间,因此你可以尝试如下
使用app \ models \ LineChart;
删除包含并尝试
答案 2 :(得分:0)
我通过使用另一个包装器(https://github.com/miloschuman/yii2-highcharts)解决了这个问题。 (1)我将以下行放在composer.json文件的require部分中: “yiisoft / yii2-jui”:“*”, “miloschuman / yii2-highcharts-widget”:“dev-master”(2)然后在控制台中运行命令:composer update
这是另一个帖子的链接:How to add google-chart correctly in Yii2?