Yii2包含来自供应商目录



我有yii2的基本版本。我想使用Yii2网格视图。使用文档我已经安装并更新了它。现在我可以看到目录/basic/vendor目录./kartik-v中的目录,我将其更改为./kartik,将其子目录yii2-grid更改为grid现在据说在配置中包含模块。我转到标准路径:/config/web.php并将此块添加为配置的一部分:

'modules' => [
   'gridview' =>  [
        'class' => 'kartikgridModule'
        // 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 appvendorkartikgridGridView;
    $dataProvider = null;
echo GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => [
        'id',
        'name',
        'created_at:datetime',
    ],
]) ;

需要一些帮助。UPD1多亏了Tim Ogilvy,我明白我应该使用名称空间来获取它,并且不需要在config.php中添加。如果我错了,请纠正我。

阅读Yii自动加载手册。

它解释了几种不同的加载类的方法,包括使用/vendor/autoload.php(composer autoloader)。

无论哪种方式,一旦正确设置了自动加载器,就应该能够通过gridview文档中可见的供应商名称空间引用gridview。

表格样式部分的示例:

use kartikgridGridView;
// 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用户可以立即识别出这指的是一个命名空间,而不是路径。

最新更新