2017-01-05 5 views
0

내가 yii2 Kartik에있는 gridview에서 확장하는 새로운 클래스를 생성 할kartik의 GridView 위젯 클래스를 확장 - 고급 응용 프로그램 yii2

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 
{ 

} 

문제가 내가 그리드 뷰를 호출 할 때 오류 예외가 발생이다 : 클래스를 찾을 수 없습니다 . 위젯 클래스에서 확장하는 것이 올바른지 궁금합니다.

+0

kartik \ grid \ GridView 클래스가 누락 된 것에 대한 예외입니까? 아니면 다른? – Bizley

+0

아니요, 예외는 내 클래스가 발견되지 않습니다 : use mywidget \ grid \ GridView; – soussou

+0

네임 스페이스 및 경로 확인 –

답변

0

예외가 발견되지 않는 내 수업에 관한 것입니다 : 그것은, 당신이 작업중인 파일이 같은 프로젝트에서 동일한 경로를 가지고 있는지 확인 오토 로딩 문제처럼 use mywidget\grid\GridView

들린다 네임 스페이스. 이 경우 mywidget\grid\GridView.php을 할 수 또는 당신이 받고있는 오류에 대한 자세한 정보를 제공하시기 바랍니다 경우가 아니라면 .. 파일 위치

일치하도록 네임 스페이스를 조정하고 클래스의

1

네임 스페이스를 케이스를 사용해야합니다 사용하지 않은 것은 등록되지 않았습니다.

simpliest 솔루션은이 app을의 기본 프로젝트에 대한 YII 2.

  • 등록 중 하나에 네임 스페이스를 변경하는 것입니다 - 그래서 당신이 경우 확장 된 클래스의 경로는 mywidget/grid/GridView.php 네임 스페이스 app\mywidget\grid
  • 입니다 고급 프로젝트 것이 common, frontend 또는 backend 그래서 당신이 거기 장소 폴더를 선택하고 교체 한에 따라입니다 app 따라

mywidget\grid 네임 스페이스 사용을 주장하는 경우 먼저 등록해야합니다. 가이드에 대한 자세한 내용은 다음을 참조하십시오. Class Autoloading

+0

common \ widgets로 변경하고 네임 스페이스를 넣습니다. namespace common \ widgets; 그리고이 후 넣어 : common \ widgets \ grid \ GridView 내보기 파일에서 사용하십시오. 그러나 같은 오류 – soussou

+1

전화 한 것과 다른 네임 스페이스를 설정했습니다. 그것은'네임 스페이스 common \ widgets;'와'common \ widgets \ GridView 사용', ** OR **'네임 스페이스 common \ widgets \ grid;'와'common \ widgets \ grid \ GridView;를 사용한다. 하나의 추가 폴더'grid'에도 있음). – Bizley

+0

Thannnnks 많이, 마침내 작동합니다 – soussou