这回要说的是,如何给 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 资源。
Yii2
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。