【问题标题】:Getting intl-tel-input working as yii2 autoloader via composer通过作曲家让 intl-tel-input 作为 yii2 自动加载器工作
【发布时间】:2021-09-09 16:59:34
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: yii2 intl-tel-input


    【解决方案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);
    

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

    【讨论】:

    • 谢谢米哈尔。
    • 应该注意的是,官方称borales/yii2-phone-input 是Yii2 的端口,但似乎以这种方式添加资产确实解决了将其作为小部件调用时的一些字段问题。无论如何,做它现在应该做的。
    猜你喜欢
    • 2015-09-24
    • 2018-10-27
    • 2016-03-31
    • 2013-12-09
    • 2021-02-23
    • 2013-03-05
    • 1970-01-01
    • 2014-01-31
    相关资源
    最近更新 更多