通过 composer 让 intl-tel-input 作为 yii2 自动加载器工作

Getting intl-tel-input working as yii2 autoloader via composer

我正在使用 Yii2,并希望能够通过作曲家将 jackocnr/intl-tel-input 库用作 autoloader/widget。我可以通过 composer 安装,但是 composer 文件中没有 autoload/psr-4 语句。

我在 Yii2 中使用过 borales/yii2-phone-input,效果很好。我需要自己编写使用 jackocnr/intl-tel-input 的包吗?

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

在此先感谢您提供的任何帮助。

composer 自动加载器适用于 PHP classes,但包 jackocnr/intl-tel-input 仅包含 js、css 和图像。没有 php class composer autoloader 可以加载的

您需要做的是创建一个资产包来加载 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);

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