0

我正在使用 Yii2,并希望能够通过 composer 将 jackocnr/intl-tel-input 库用作自动加载器/小部件。我可以通过 composer 安装,但是 composer 文件中没有 autoload/psr-4 语句。

我在 Yii2 中使用了 Borales/yii2-phone-input 并且效果很好。我是否需要编写自己的使用 jackocnr/intl-tel-input 的包?

另一种选择是手动调用库,但如果可能的话想取消它。

提前感谢您提供的任何帮助。

4

1 回答 1

1

Composer 自动加载器适用于 PHP 类,但包jackocnr/intl-tel-input仅包含 js、css 和图像。没有作曲家自动加载器可以加载的 php 类。

您需要做的是创建一个资产包,它将加载 css/js 并使用它。

资产包可以看起来像这样:

namespace app\assets;

use yii\web\AssetBundle;

class IntlTelInputAsset extends AssetBundle
{
    public $sourcePath = '@vendor/jackocnr/intl-tel-input/build';
    public $css = [
        'css/intlTelInput.css',
    ];
    public $js = [
        'js/intlTelInput.js',
    ];
}

然后在您需要它的视图模板中,您可以注册资产:

\app\assets\IntlTelInputAsset::register($this);

您可以在文档中了解有关资产包的更多信息。

于 2021-09-10T05:54:39.037 回答