利用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 相关文章推荐
第十三节 对象串行化 [13]
Oct 09 PHP
php 代码优化之经典示例
Mar 24 PHP
PHP变量的定义、可变变量、变量引用、销毁方法
Dec 20 PHP
php格式化金额函数分享
Feb 02 PHP
详解Window7 下开发php扩展
Dec 31 PHP
PHP获取当前文件的父目录方法汇总
Jul 21 PHP
php根据年月获取当月天数及日期数组的方法
Nov 30 PHP
PHP Class SoapClient not found解决方法
Jan 20 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
Aug 15 PHP
PHP通过文件保存和更新信息的方法分析
Sep 12 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
Oct 30 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
Apr 07 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
粗略计算在线时间,bug:ip相同
2006/12/09 PHP
php Smarty初体验二 获取配置信息
2011/08/08 PHP
javascript some()函数用法详解
2014/11/13 PHP
PHP内核探索之解释器的执行过程
2015/12/22 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
PHP数组array类常见操作示例
2020/05/15 PHP
Jquery倒数计时按钮setTimeout的实例代码
2013/07/04 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
处理文本部分内容的TextRange对象应用实例
2014/07/29 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
2016/07/04 Javascript
JavaScript Base64 作为文件上传的实例代码解析
2017/02/14 Javascript
Vue 中mixin 的用法详解
2018/04/23 Javascript
JavaScript DOM元素常见操作详解【添加、删除、修改等】
2018/05/09 Javascript
vue移动端弹框组件的实例
2018/09/25 Javascript
微信小程序使用蓝牙小插件
2019/09/23 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
2019/10/21 Javascript
Vuex的各个模块封装的实现
2020/06/05 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS NE
2014/05/22 DOTA
Python 异常处理实例详解
2014/03/12 Python
Python引用(import)文件夹下的py文件的方法
2014/08/26 Python
python查询mysql中文乱码问题
2014/11/09 Python
python3序列化与反序列化用法实例
2015/05/26 Python
python实现自动网页截图并裁剪图片
2018/07/30 Python
python 多维高斯分布数据生成方式
2019/12/09 Python
Boutique 1美国:阿联酋奢侈时尚零售商
2017/10/16 全球购物
英国领先的汽车轮胎和快速健康中心:Kwik Fit
2017/10/29 全球购物
工作决心书范文
2014/03/11 职场文书
元旦联欢会主持词
2014/03/26 职场文书
个人委托函范文
2015/01/29 职场文书
经营目标责任书
2015/05/08 职场文书
故意杀人罪辩护词
2015/05/21 职场文书
为什么说餐饮很难做,是因为你不了解这些新规则
2019/08/20 职场文书
python中的sys模块和os模块
2022/03/20 Python