我正在使用 Yii2,并希望能够通过 composer 将 jackocnr/intl-tel-input 库用作自动加载器/小部件。我可以通过 composer 安装,但是 composer 文件中没有 autoload/psr-4 语句。
我在 Yii2 中使用了 Borales/yii2-phone-input 并且效果很好。我是否需要编写自己的使用 jackocnr/intl-tel-input 的包?
另一种选择是手动调用库,但如果可能的话想取消它。
提前感谢您提供的任何帮助。
我正在使用 Yii2,并希望能够通过 composer 将 jackocnr/intl-tel-input 库用作自动加载器/小部件。我可以通过 composer 安装,但是 composer 文件中没有 autoload/psr-4 语句。
我在 Yii2 中使用了 Borales/yii2-phone-input 并且效果很好。我是否需要编写自己的使用 jackocnr/intl-tel-input 的包?
另一种选择是手动调用库,但如果可能的话想取消它。
提前感谢您提供的任何帮助。
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);
您可以在文档中了解有关资产包的更多信息。