不使用 Composer 手动安装 Yii2 扩展

Install Yii2 extension manually without using Composer

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

我完成了以下步骤,但它不起作用。

1) 添加 yii2-widget-select2vendor/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 Fatal Error – yii\base\ErrorException. Class 'kartik\select2\Select2' not found

强烈建议改用 composer。

但是如果你想手动操作:

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。如果楼主不支持,再找一个。

您可以使用 yii2-workbench 包。它专为在没有作曲家的情况下轻松集成包而设计。它支持作曲家自动加载和 bootstrap

它是子存储库 .GIT ,从 vendor\kartik-v\yii2-widget-select2git rm --cached yii2-widget-select2

中删除 .git

存储、提交、推送。