不使用Composer手动安装Yii2扩展

时间:2015-05-27 10:50:06

标签: php widget composer-php yii2

我想在不使用composer的情况下使用Yii2 Framework手动安装Select 2 extension小部件。

我完成了以下步骤,但它无法正常工作。

1)yii2-widget-select2添加到vendor/yii-soft

2)在我的yii-soft/extensions.php中添加了以下代码:

'yiisoft/yii2-widget-select2' => array(
    'name' => 'yiisoft/yii2-widget-select2',
    'version' => '2.0.3.0',
    'alias' =>
    array(
        '@yii/kartik' => $vendorDir . '/yiisoft/yii2-widget-select2',
    ),
),

3)在视图中添加了显示:

use kartik\select2\Select2;

<?php echo Select2::widget([
    'model' => $model,
    'attribute' => 'state_2',
    'data' => $data,
    'options' => ['placeholder' => 'Select a state ...'],
    'pluginOptions' => [
        'allowClear' => true,
    ],
]); ?>

它显示以下错误:

  

PHP致命错误 - yii \ base \ ErrorException。类   找不到'kartik \ select2 \ Select2'

3 个答案:

答案 0 :(得分:39)

强烈建议使用作曲家。

但如果你想手动完成:

1)从Github下载所需版本的存档。

2)打开composer.json

3)查找PSR-4自动加载部分并记住它,在您的情况下:kartik/select2

4)将文件解压缩到vendor中的相应文件夹:vendor/kartik/select2(不是yiisoft!)。

5)添加到vendor/composer/autoload_psr4.php

'kartik\\select2\\' => array($vendorDir . '/kartik/select2'),

6)添加到vendor/yiisoft/extensions.php

'kartik/select2' => array (
    'name' => 'kartik/select2',
    'version' => '2',
    'alias' => array (
        '@kartik/select2' => $vendorDir . '/kartik/select2',
    ),
),

samdark ,其中一位核心撰稿人在他的官方博客here上发表了俄文文章。它基本上是简短的翻译版本。

正如您所看到的,还有很多工作要做。将它乘以扩展数量就会变得很痛苦。

说真的,使用composer。如果主持人不支持,请找另一个。

答案 1 :(得分:2)

您可以使用yii2-workbench包。它专为无需作曲家的简易集成包而设计。它支持composer autoload和bootstrap

答案 2 :(得分:0)

它是子库.GIT,从.git删除vendor\kartik-v\yii2-widget-select2git rm --cached yii2-widget-select2

Stash,Commit,Push。