首页 文章

不使用Composer手动安装Yii2扩展

提问于
浏览
24

我想在不使用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致命错误 - yii \ base \ ErrorException . 找不到类'kartik \ select2 \ Select2'

3 回答

  • 2

    强烈建议使用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 . 如果主机不支持,请找另一个 .

  • 0

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

  • 36

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

    藏匿,提交,推送 .

相关问题