0

我想创建一个从 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
{

}

问题是当我调用网格视图时,抛出错误异常:找不到类。所以我想知道这是否是从小部件类扩展的正确方法?

4

2 回答 2

1

您使用的命名空间未注册。

最简单的解决方案是将命名空间更改为使用 Yii 2 注册的命名空间之一。

  • 对于 Basic Project 它是app- 所以如果你的扩展类的路径是mywidget/grid/GridView.php命名空间是app\mywidget\grid
  • 对于高级项目,它是commonfrontend或者backend取决于您选择的放置文件夹并app相应地替换

如果你坚持使用mywidget\grid命名空间,你必须先注册它。在指南中阅读有关此内容的更多信息:类自动加载

于 2017-01-05T08:19:07.313 回答
0

例外是关于我的班级,但没有找到:use mywidget\grid\GridView

听起来这是一个自动加载问题,请确保您正在使用的文件在您的项目中与您正在使用的命名空间具有相同的路径。在这种情况下应该是mywidget\grid\GridView.php或调整您的命名空间以匹配您的文件位置

..如果不是这种情况,请提供有关您收到的错误和您的班级用例的更多详细信息

于 2017-01-05T08:15:38.513 回答