it-swarm.com.ru

Установите расширение Yii2 вручную без использования Composer

Я хочу установить выбрать расширение 2 виджет вручную с Yii2 Framework без использования композитора.

Я сделал следующие шаги, но это не работает.

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' не найден

25
Sky

Настоятельно рекомендуется использовать вместо этого композитор.

Но если вы хотите сделать это вручную:

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, один из основных участников опубликовал статью на русском языке в своем официальном блоге здесь . Это в основном краткая переводная версия.

Как видите, работы довольно много. Умножьте это на число расширений, и это станет болью.

Серьезно, используйте composer. Если хостер не поддерживает его, найдите другого.

37
arogachev

Вы можете использовать yii2-workbench package. Он предназначен для легкой интеграции пакета без композитора. Поддерживает автозагрузку и загрузку композитора 

2
John Martin

Это под-репозиторий .GIT, удалите .git из vendor\kartik-v\yii2-widget-select2 и git rm --cached yii2-widget-select2

Копить, совершать, толкать.