web-dev-qa-db-ja.com

Composerを使用せずにYii2拡張機能を手動でインストールする

Select 2 extension 作曲家を使用せずにYii2 Frameworkでウィジェットを手動でインストールしたい。

次の手順を実行しましたが、機能しません。

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」が見つかりません

25
Sky

代わりにcomposer=を使用することを強くお勧めします。

ただし、手動で行う場合:

1)必要なバージョンのアーカイブをGithubからダウンロードします。

2)composer.jsonを開きます。

3)PSR-4 autoloadセクションを見つけて、覚えておいてください。あなたの場合: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、コア貢献者の1人が公式ブログにロシア語の記事を掲載しています here 。基本的には簡単な翻訳版です。

ご覧のとおり、やるべきことは非常に多くあります。拡張機能の数で乗算すると、痛みになります。

真剣に、composerを使用してください。ホスティング事業者がサポートしていない場合は、別のホストを見つけます。

40
arogachev

yii2-workbench パッケージを使用できます。作曲家なしで簡単に統合できるように設計されています。 composer= autoloadおよびbootstrapをサポート

2
John Martin

サブリポジトリ.GIT、削除.git from vendor\kartik-v\yii2-widget-select2およびgit rm --cached yii2-widget-select2

Stash、Commit、Push。