跳转到主内容
极星编程网:以代码为星,赴技术山海!

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

前天帮同事改个十年前的网站 bug,页面上一堆 include require 不禁让人抱头痛哭。看到 V2EX 上的讨论说,写 PHP 不用框架等同于耍流氓。Yii Framework 是我使用这回要说的是,如何给 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": "*", //然后运行php composer.phar update从 Github 上拉取 FontAwesome 的包到项目本地。

Composer 2.9.6 Composer 2.9.6 是 PHP 生态中高效、稳定的依赖管理工具。此版本在性能与兼容性上进一步优化,改进了依赖解析算法,提升大型项目中的安装与更新速度。它支持并行下载任务,显著减少等待时间,并增强了与私有仓库及镜像源的交互稳定性。同时修复了多项命令行交互与内存使用相关的缺陷,确保在复杂依赖关系下依然可靠运行。无论是新项目初始化还是现有系统维护,Composer 2.9.6 都能为开发者提供流畅、精准的依赖管理体验。

下载

三、创建 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 资源。

相关文章