利用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 相关文章推荐
Php获取金书网的书名的实现代码
Jun 11 PHP
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
Jul 12 PHP
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
Aug 12 PHP
php 获取百度的热词数据的代码
Feb 18 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
Sep 28 PHP
php插入排序法实现数组排序实例
Feb 16 PHP
php单一接口的实现方法
Jun 20 PHP
如何使用GDB调试PHP程序
Dec 08 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
Mar 18 PHP
PHP安装BCMath扩展的方法
Feb 13 PHP
tp5框架无刷新分页实现方法分析
Sep 26 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
May 25 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
php4的session功能评述(一)
2006/10/09 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
2012/06/21 PHP
PHP中让curl支持sock5的代码实例
2015/01/21 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
php轻量级的性能分析工具xhprof的安装使用
2015/08/12 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
PHP构造函数与析构函数用法示例
2016/09/28 PHP
利用PHP判断是否是连乘数字串的方法示例
2017/07/03 PHP
javaScript 数值型和字符串型之间的转换
2009/07/25 Javascript
Javascript 鼠标移动上去小三角形滑块缓慢跟随效果
2013/04/26 Javascript
js利用事件的阻止冒泡实现点击空白模态框的隐藏
2014/01/24 Javascript
jquery实现平滑的二级下拉菜单效果
2015/08/26 Javascript
详解js中Json的语法与格式
2016/11/22 Javascript
简单实现IONIC购物车功能
2017/01/10 Javascript
JS 调试中常见的报错问题解决方法
2017/05/20 Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
2017/07/12 jQuery
Javascript实现动态时钟效果
2018/11/17 Javascript
CryptoJS中AES实现前后端通用加解密技术
2018/12/18 Javascript
[01:14:30]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第二场 8.20.mp4
2019/08/22 DOTA
python操作MongoDB基础知识
2013/11/01 Python
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
python xml解析实例详解
2016/11/14 Python
python接口调用已训练好的caffe模型测试分类方法
2019/08/26 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
html5使用canvas绘制文字特效
2014/12/15 HTML / CSS
C#笔试题和英文面试题
2013/02/07 面试题
工商管理专业应届生求职信
2013/11/04 职场文书
信访工作者先进事迹
2014/01/17 职场文书
五年级数学教学反思
2014/02/11 职场文书
党风廉正建设责任书
2015/01/29 职场文书
中学校园广播稿
2015/08/18 职场文书
实习报告怎么写
2019/06/20 职场文书
CSS精灵图的原理与使用方法介绍
2022/03/17 HTML / CSS
Android开发 使用文件储存的方式保存QQ密码
2022/04/24 Java/Android
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers