Yii2包含来自供应商目录

时间:2016-03-27 06:11:13

标签: php gridview yii2

我有yii2基本版。我想使用Yii2 GridView。使用docs我已安装并更新了它。现在,我可以看到目录/basic/vendor目录./kartik-v中的目录,我将其更改为./kartik,并将其子目录yii2-grid更改为grid 现在它说要在config中包含模块。 我转到标准路径:/config/web.php 并将此块添加为config:

的一部分
'modules' => [
   'gridview' =>  [
        'class' => '\kartik\grid\Module'
        // enter optional module parameters below - only if you need to  
        // use your own export download action or custom translation 
        // message source
        // 'downloadAction' => 'gridview/export/download',
        // 'i18n' => []
    ]
],

如何在视图中使用它,例如,现在? 这是我的观点代码,它表示它无法在那里找到它。

    use app\vendor\kartik\grid\GridView;
    $dataProvider = null;
echo GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => [
        'id',
        'name',
        'created_at:datetime',
    ],
]) ;

需要一些帮助。 的 UPD1 感谢Tim Ogilvy,我明白我应该使用命名空间来获取它,并且没有必要在config / php中添加它。如果我错了,请纠正我。

1 个答案:

答案 0 :(得分:3)

阅读the Yii Manual for autoloading

它解释了加载类的几种不同方法,包括使用作为自动加载器的/vendor/autoload.php

无论哪种方式,一旦您正确设置了自动加载器,您就应该能够通过它的供应商名称空间引用gridview为in the gridview documentation

取自“表格样式”部分的示例:

use kartik\grid\GridView;

// Generate a bootstrap responsive striped table with row highlighted on hover
echo GridView::widget([
    'dataProvider'=> $dataProvider,
    'filterModel' => $searchModel,
    'columns' => $gridColumns,
    'responsive'=>true,
    'hover'=>true
]);

请注意,use语句使用反斜杠而不是正斜杠

对于Windows用户来说,并不是很明显这不是路径,但Linux和mac用户可以立即识别出这是指名称空间,而不是路径。