我想创建一个从yii2 Kartik gridview
扩展的新类namespace mywidget\grid;
use kartik\base\Config;
use kartik\dialog\Dialog;
use kartik\mpdf\Pdf;
use Yii;
use yii\base\InvalidConfigException;
use yii\bootstrap\ButtonDropdown;
use yii\grid\Column;
use kartik\grid\GridView as YiiGridView;
use yii\helpers\ArrayHelper;
use yii\helpers\Html;
use yii\helpers\Json;
use yii\helpers\Url;
use yii\web\JsExpression;
use yii\web\View;
use yii\widgets\Pjax;
class GridView extends YiiGridView
{
}
问题是当我调用网格视图时,抛出错误异常:找不到类。 所以我想知道它是否是从widget类扩展的正确方法?
答案 0 :(得分:1)
您使用的命名空间未注册。
最简单的解决方案是将名称空间更改为使用Yii 2注册的名称空间。
app
- 所以,如果你的扩展类的路径是mywidget/grid/GridView.php
名称空间是app\mywidget\grid
common
,frontend
或backend
,因此根据您选择的那个文件夹,并相应地替换app
如果您坚持使用mywidget\grid
命名空间,则必须先注册。在指南中了解更多相关信息:Class Autoloading
答案 1 :(得分:0)
例外是关于我找不到的课程:
use mywidget\grid\GridView
这听起来像是一个自动加载问题,请确保您正在使用的文件与您正在使用的命名空间在项目中具有相同的路径。在这种情况下应该是mywidget\grid\GridView.php
或调整您的命名空间以匹配您的文件位置
..如果情况并非如此,请提供有关您收到的错误和课堂用例的更多详细信息