手动安装 Yii2 扩展,无需使用 Composer

2022-08-30 17:07:44

我想用Yii2 Framework手动安装Select 2扩展小部件,而不使用作曲家。

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

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.未找到类'kartik\select2\Select2'


答案 1

强烈建议改用作曲家。

但是,如果您想手动执行此操作:

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

2) 打开 .composer.json

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

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

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,核心贡献者之一,在他的官方博客上有关于它的俄语文章。它基本上是简短的翻译版本。

如您所见,这是相当多的工作要做。乘以扩展次数,它就会变得痛苦。

说真的,使用.如果托管服务商不支持它,请找到另一个。composer


答案 2

你可以使用 yii2-workbench 包。它专为无需作曲家的轻松集成包而设计。它支持作曲家自动加载和引导


推荐