不使用Composer手动安装Yii2扩展

J.K*_*.A. 25 php widget composer-php yii2

我想在不使用composer的情况下使用Yii2 Framework手动安装Select 2扩展小部件.

我完成了以下步骤,但它不起作用.

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',
    ),
),
Run Code Online (Sandbox Code Playgroud)

3)以视图形式添加显示:

use kartik\select2\Select2;

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

它显示以下错误:

PHP致命错误 - yii\base\ErrorException.找不到类'kartik\select2\Select2'

aro*_*hev 41

强烈建议使用composer.

但是如果你想手动完成它:

1)从Github下载所需版本的存档.

2)打开composer.json.

3)找到PSR-4自动加载部分并记住它,在你的情况下:kartik/select2.

4)将文件解压缩到相应的文件夹中vendor:( vendor/kartik/select2yiisoft!).

5)添加到vendor/composer/autoload_psr4.php:

'kartik\\select2\\' => array($vendorDir . '/kartik/select2'),
Run Code Online (Sandbox Code Playgroud)

6)添加到vendor/yiisoft/extensions.php:

'kartik/select2' => array (
    'name' => 'kartik/select2',
    'version' => '2',
    'alias' => array (
        '@kartik/select2' => $vendorDir . '/kartik/select2',
    ),
),
Run Code Online (Sandbox Code Playgroud)

samdark,核心贡献者之一在他的官方博客在俄罗斯关于它的文章在这里.它基本上是简短的翻译版本.

正如您所看到的,要做很多工作.将它乘以扩展数量就会变得很痛苦.

说真的,用composer.如果主机不支持,请找另一个.

  • 完全同意。为什么要对自己这么难?最坏的情况是,您可以将composer.phar添加到自己的文件中,然后像这样运行它。 (2认同)