利用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 和 MySQL 基础教程(三)
Oct 09 PHP
别人整理的服务器变量:$_SERVER
Oct 20 PHP
PHP文本操作类
Nov 25 PHP
php读取30天之内的根据算法排序的代码
Apr 06 PHP
Godaddy空间Zend Optimizer升级方法
May 10 PHP
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
Jun 21 PHP
php操作mysqli(示例代码)
Oct 28 PHP
PHP中构造函数和析构函数解析
Oct 10 PHP
php带抄送和密件抄送的邮件发送方法
Mar 20 PHP
php自定义urlencode,urldecode函数实例
Mar 24 PHP
PHP Header失效的原因分析及解决方法
Nov 16 PHP
搜索附近的人PHP实现代码
Feb 11 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使用Cookie实现和用户会话的方法
2015/01/21 PHP
thinkphp3.2点击刷新生成验证码
2016/02/16 PHP
JS类定义原型方法的两种实现的区别评论很多
2007/09/12 Javascript
基于jQuery的一个扩展form序列化到json对象
2010/12/09 Javascript
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
自己编写的类似JS的trim方法
2013/10/09 Javascript
jQuery简单几行代码实现tab切换
2015/03/10 Javascript
JavaScript实现的浮动层框架用法实例分析
2015/10/10 Javascript
Node.js实现文件上传
2016/07/05 Javascript
js转换对象为xml
2017/02/17 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
2017/04/21 Javascript
详解Vue.js使用Swiper.js在iOS
2018/09/10 Javascript
Vue中的验证登录状态的实现方法
2019/03/09 Javascript
Vue函数式组件-你值得拥有
2019/05/09 Javascript
js+springMVC 提交数组数据到后台的实例
2019/09/21 Javascript
js实现自定义右键菜单
2020/05/18 Javascript
原生js+css实现tab切换功能
2020/09/17 Javascript
JavaScript实现无限轮播效果
2020/11/19 Javascript
动态创建类实例代码
2009/10/07 Python
基于Python实现的扫雷游戏实例代码
2014/08/01 Python
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
Python元字符的用法实例解析
2018/01/17 Python
简单谈谈Python的pycurl模块
2018/04/07 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
2019/02/07 Python
python删除列表元素的三种方法(remove,pop,del)
2019/07/22 Python
python实现的汉诺塔算法示例
2019/10/23 Python
Python读取csv文件实例解析
2019/12/30 Python
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
澳大利亚网上玩具商店:Mr Toys Toyworld
2018/03/25 全球购物
伦敦一卡通:The London Pass
2018/11/30 全球购物
英国索普公园票务和酒店套餐:Thorpe Breaks
2019/09/14 全球购物
vue项目实现分页效果
2021/03/24 Vue.js
财务出纳员岗位职责
2013/11/26 职场文书
小学生操行评语
2014/04/22 职场文书
先进党员事迹材料
2014/12/24 职场文书
webpack的移动端适配方案小结
2021/07/25 Javascript