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


Posted in PHP onDecember 30, 2017

前言

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

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

安装

$ composer require elfsundae/laravel-gravatar

配置

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

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

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

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

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

配置示例:

'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()

/**
 * 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)

使用示例

// 为 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');

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
SMARTY学习手记
Jan 04 PHP
又一个php 分页类实现代码
Dec 03 PHP
PHP获取表单textarea数据中的换行问题
Sep 10 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
Dec 06 PHP
php后退一页表单内容保存实现方法
Jun 17 PHP
浅析PHP绘图技术
Jul 03 PHP
PHP验证码函数代码(简单实用)
Sep 29 PHP
php中的路径问题与set_include_path使用介绍
Feb 11 PHP
php上传文件并存储到mysql数据库的方法
Mar 16 PHP
PHP实现图片上传并压缩
Dec 22 PHP
php装饰者模式简单应用案例分析
Oct 23 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
Feb 26 PHP
PHP如何实现订单的延时处理详解
Dec 30 #PHP
PHP 的Opcache加速的使用方法
Dec 29 #PHP
PHP自定义序列化接口Serializable用法分析
Dec 29 #PHP
PHP检测接口Traversable用法详解
Dec 29 #PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
Dec 28 #PHP
PHP迭代器接口Iterator用法分析
Dec 28 #PHP
PHP数组式访问接口ArrayAccess用法分析
Dec 28 #PHP
You might like
两个强悍的php 图像处理类1
2009/06/15 PHP
window+nginx+php环境配置 附配置搭配说明
2010/12/29 PHP
php XPath对XML文件查找及修改实现代码
2011/07/27 PHP
PHP使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
thinkphp区间查询、统计查询与SQL直接查询实例分析
2014/11/24 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
2015/12/25 PHP
CodeIgniter多语言实现方法详解
2016/01/20 PHP
thinkphp3.2点击刷新生成验证码
2016/02/16 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
提高网站信任度的技巧
2008/10/17 Javascript
javascript 回到顶部效果的实现代码
2014/02/17 Javascript
javascript实现节点(div)名称编辑
2014/12/17 Javascript
jquery中one()方法的用法实例
2015/01/16 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
2015/02/13 Javascript
jQuery实现的精美平滑二级下拉菜单效果代码
2016/03/28 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
jQuery 判断元素整理汇总
2017/02/28 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
Express之get,pos请求参数的获取
2017/05/02 Javascript
利用Angular7开发一个Radio组件的全过程
2019/07/11 Javascript
Python实现将Excel转换为json的方法示例
2017/08/05 Python
钉钉群自定义机器人消息Python封装的实例
2019/02/20 Python
python使用pygame模块实现坦克大战游戏
2020/03/25 Python
浅析PyCharm 的初始设置(知道)
2020/10/12 Python
python爬虫分布式获取数据的实例方法
2020/11/26 Python
喜诗官方在线巧克力店:See’s Candies
2017/01/01 全球购物
LACOSTE波兰官网:Polo衫、服装和鞋类
2020/09/29 全球购物
专科文秘应届生求职信
2013/11/18 职场文书
班组长安全职责
2014/01/05 职场文书
CSS3 制作的书本翻页特效
2021/04/13 HTML / CSS
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
2021/05/26 Python
FP-growth算法发现频繁项集——构建FP树
2021/06/24 Python
Python Pytorch查询图像的特征从集合或数据库中查找图像
2022/04/09 Python