Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
发布:smiling 来源: PHP粉丝网 添加日期:2021-03-01 22:32:41 浏览: 评论:0
前天帮同事改个十年前的网站 bug,页面上一堆 include require 不禁让人抱头痛哭。看到 V2EX 上的讨论说,写 PHP 不用框架等同于耍流氓。Yii Framework 是我使用了 2 年多的 PHP 框架,器大活好,皮实耐操。 Yii2 还在 Beta 中,不过不影响拿来预研。
这回要说的是,如何给 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 资源。
Tags: Yii2 Composer FontAwesome
相关文章
- ·yii2超好用的日期组件和时间组件(2019-07-30)
- ·yii2的ActiveForm表单使用的方法介绍(2020-02-15)
- ·Yii2框架的csrf验证原理分析及token缓存解决方案(2020-04-05)
- ·yii2.0之GridView自定义按钮和链接用法(2021-05-03)
- ·列举PHP的Yii 2框架的开发优势(2021-06-08)
- ·Yii2.0高级框架数据库增删改查的一些操作(2021-06-26)
- ·实例讲解yii2.0在php命令行中运行的步骤(2021-06-27)
- ·yii2.0使用Plupload实现带缩放功能的多图上传(2021-06-30)
- ·yii2.0实现验证用户名与邮箱功能(2021-06-30)
- ·yii2中添加验证码的实现方法(2021-07-05)
- ·YII2.0之Activeform表单组件用法实例(2021-07-05)
- ·yii2中使用Active Record模式的方法(2021-07-05)
- ·yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析(2021-07-05)
- ·Yii2框架引用bootstrap中日期插件yii2-date-picker的方法(2021-07-05)
- ·yii2中的rules 自定义验证规则详解(2021-07-29)
- ·yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法(2021-07-29)

推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)