当前位置: 移动技术网 > IT编程>开发语言>PHP > Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源

Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源

2019年03月22日  | 移动技术网IT编程  | 我要评论

这回要说的是,如何给 yii2 项目添加外部资源(external assets),以 fontawesome 为例子。

yii2 开始使用 composer 来做项目的依赖管理,这货是类似于 nodejs 里面 npm 的东东,可以自动获取 github 上最新版本的第三方库(比如 bootstrap 啦,fontawesome 啦之类的)。按官方教程装好后,就可以开始初始化项目了。

一、初始化项目

通过 composer 来初始化

php composer.phar create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic

然后开始码代码,model controller view 神马的,此处按下不表。

二、安装 fontawesome

终于,你的项目发展到需要引用第三方库了,我们仍然通过 composer 来安装。搜索packagist.org官方的包列表,我们找到了 fontawesome 的配置。将 fortawesome/font-awesome": "*" 添加到项目的 composer.json 配置文件里。

// ...
"require": {
 "php": ">=5.4.0",
 "hybridauth/hybridauth": "dev-master",
 "fortawesome/font-awesome": "*", // <- 这里
 "yiisoft/yii2": "*",
 "yiisoft/yii2-swiftmailer": "*",
 "yiisoft/yii2-bootstrap": "*",
 "yiisoft/yii2-debug": "*",
 "yiisoft/yii2-gii": "*"
},
// ...

然后运行

php composer.phar update

从 github 上拉取 fontawesome 的包到项目本地。

三、创建 fontawesome 资源包(asset bundle)

为了使用这些库,我们需要在项目的 /assets 目录下创建一个 fontawesomeasset.php

namespace assets;
use yii\web\assetbundle;
class fontawesomeasset extends assetbundle
{
 // 下面这些资源文件并不在 web 目录下,浏览器无法直接访问。所以我们需要
 // 指定 sourcepath 属性。注意 @vendor 这个 alias,表示 vender 目录
 public $sourcepath = '@vendor/fortawesome/font-awesome';
 public $css = [
  'css/font-awesome.css',
 ];
}

四、注册文件,引入资源

有两种方法。第一种,当你想在某一个特定页面引入这个资源包

// 这两句直接写在那一页的 view 里
use assets\fontawesomeasset;
fontawesomeasset::register($this);

第二种,在你的网站全局引入,或者将其作为另一个资源的依赖引用。在项目的 asset/appasset.php 中加上它:

class appasset extends assetbundle
{
 public $basepath = '@webroot';
 public $baseurl = '@web';
 public $css = [
  'css/site.css',
 ];
 public $js = [
 ];
 public $depends = [
  'yii\web\yiiasset',
  'yii\bootstrap\bootstrapasset',
  // 在这里加上我们的 fontawesomeasset 包类
  'assets\fontawesomeasset'
 ];
}

刷新页面,看看是不是已经引入了对应的 css、js 资源。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网