wake-up-neo.net

Installieren Sie die Yii2-Erweiterung manuell, ohne Composer zu verwenden

Ich möchte Select 2 extension widget manuell mit Yii2 Framework installieren, ohne Composer zu verwenden.

Ich habe die folgenden Schritte ausgeführt, aber es funktioniert nicht.

1)yii2-widget-select2 zu vendor/yii-soft hinzugefügt

2) In meinem yii-soft/extensions.php wurde folgender Code hinzugefügt:

'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) Anzeige in Ansichtsform hinzugefügt: 

use kartik\select2\Select2;

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

Und es zeigt den folgenden Fehler:

Schwerwiegender PHP-Fehler - yii\base\ErrorException. Klasse 'kartik\select2\Select2' wurde nicht gefunden

25
Sky

Es wird dringend empfohlen, stattdessen Composer zu verwenden.

Aber wenn Sie es manuell machen wollen:

1) Laden Sie das Archiv der benötigten Version von Github herunter.

2)composer.json öffnen.

3) Sucht den PSR-4-Autoload-Abschnitt und speichert ihn in Ihrem Fall: kartik/select2.

4) Extrahiere Dateien in den entsprechenden Ordner in vendor: vendor/kartik/select2 (nicht yiisoft!).

5) Zu vendor/composer/autoload_psr4.php hinzufügen:

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

6) Zu vendor/yiisoft/extensions.php hinzufügen:

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

samdark, einer der wichtigsten Mitwirkenden, hat den russischen Artikel darüber in seinem offiziellen Blog hier veröffentlicht. Es ist im Grunde eine kurze übersetzte Version.

Wie Sie sehen, ist es eine Menge Arbeit. Multipliziere es mit der Anzahl der Erweiterungen und es wird zum Schmerz.

Ernsthaft verwenden Sie composer. Wenn der Hoster dies nicht unterstützt, suchen Sie einen anderen.

37
arogachev

Sie können yii2-workbench package verwenden. Es ist für die einfache Integration von Paketen ohne Komponist konzipiert. Es unterstützt Composer Autoload und Bootstrap 

2
John Martin

Es ist das untergeordnete Repository .GIT, lösche .git aus vendor\kartik-v\yii2-widget-select2 und git rm --cached yii2-widget-select2.

Stash, Commit, Push.