web-dev-qa-db-fra.com

Installer l'extension Yii2 manuellement sans utiliser Composer

Je souhaite installer Sélectionnez 2 extension widget manuellement avec Yii2 Framework sans utiliser composer.

J'ai fait les étapes suivantes mais ça ne marche pas.

1) Ajouté yii2-widget-select2 à vendor/yii-soft

2) Ajout du code suivant dans mon 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) Ajout de l'affichage sous forme d'affichage: 

use kartik\select2\Select2;

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

Et cela montre l'erreur suivante:

Erreur irrécupérable PHP - yii\base\ErrorException. Classe 'kartik\select2\Select2' introuvable

25
Sky

Il est fortement recommandé d'utiliser composeur à la place.

Mais si vous voulez le faire manuellement:

1) Téléchargez l’archive de la version requise à partir de Github.

2) Ouvrez composer.json.

3) Recherchez la section de chargement automatique du PSR-4 et rappelez-vous, dans votre cas: kartik/select2.

4) Extrayez les fichiers dans le dossier correspondant dans vendor: vendor/kartik/select2 (pas yiisoft!).

5) Ajouter à vendor/composer/autoload_psr4.php:

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

6) Ajouter à vendor/yiisoft/extensions.php:

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

samdark, l'un des contributeurs principaux a l'article en russe à ce sujet sur son blog officiel ici . C'est essentiellement une version traduite brève.

Comme vous pouvez le constater, il y a beaucoup de travail à faire. Multipliez-le par le nombre d'extensions et cela devient douloureux.

Sérieusement, utilisez composer. Si l'hébergeur ne le prend pas en charge, trouvez-en un autre.

37
arogachev

Vous pouvez utiliser yii2-workbench package. Il a conçu pour le paquet intégré facile sans compositeur. Il supporte le chargement automatique et le bootstrap du compositeur 

2
John Martin

Il s'agit d'un sous-répertoire .GIT, supprimez .git de vendor\kartik-v\yii2-widget-select2 et git rm --cached yii2-widget-select2

Stash, Commit, Push.