利用Laravel生成Gravatar头像地址的优雅方法

Gravatar头像已经成为了博客、论坛等一种非常流行的通用头像,不管是Wordpress还是Z-Blog、Typecho、Emlog等,留言或者登录注册等都支持Gravatar头像,Laravel Gravatar 扩展包提供了最简单优雅的方式来生成 Gravatar 全球公认头像地址。灵活方便的 API ,支持多连接配置,支持镜像地址。

项目主页:https://github.com/ElfSundae/laravel-gravatar

安装

1
$ composer require elfsundae/laravel-gravatar

配置

虽然本扩展包不需要任何设置也能使用,但是为了不在代码中硬编码图片尺寸等参数、以及使用镜像地址(你懂的),所以建议使用配置文件来配置 Gravatar 连接 (connection)。

为了性能,本扩展包不注册 service provider ,所以需要手动拷贝配置文件到你的应用:

1
$ cp vendor/elfsundae/laravel-gravatar/config/gravatar.php config/gravatar.php

配置文件有很详细的注释,请自行阅读。

在配置文件中你可以为你的应用配置多个 Gravatar 连接 (connection) ,除了 Gravatar 的图片参数(详见 https://en.gravatar.com/site/implement/images/) 外,还可以设置 url 镜像地址。默认的 connection 名称是 default 。

配置示例:

1
2
3
4
5
6
7
8
9
10
11
12
'default' => [
 'url' => 'https://gravatar.cat.net/avatar',
 'size' => 120,
],
'small' => [
 'url' => 'https://gravatar.cat.net/avatar',
 'size' => 40,
],
'large' => [
 'url' => 'https://gravatar.cat.net/avatar',
 'size' => 460,
],

API

只有一个全局帮助函数: gravatar()

1
2
3
4
5
6
7
8
9
/**
 * Generate Gravatar avatar URL for the given email address.
 *
 * @param string $email Email or email hash
 * @param string|int $connection Connection name or image size
 * @param string|int $size Connection name or image size
 * @return string
 */
function gravatar($email, $connection = 'default', $size = null)

使用示例

1
2
3
4
5
6
7
8
9
10
11
12
// 为 email 生成头像地址,使用 "default" 连接配置
gravatar('foo@example.com');
// 为 email 的 MD5 哈希值生成头像地址,使用 "default" 连接配置
gravatar('b48def645758b95537d4424c84d1a9ff');
// 使用 "large" 连接配置
gravatar($email, 'large');
// 使用 "default" 连接配置,并覆盖 size 参数为 100
gravatar($email, 100);
// 使用 "avatar" 连接配置,并覆盖 size 参数为 100
gravatar($email, 'avatar', 100);
// 或者:
gravatar($email, 100, 'avatar');

原文链接:https://segmentfault.com/a/1190000012635617

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容