利用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 相关文章推荐
CURL状态码列表(详细)
Jun 27 PHP
md5 16位二进制与32位字符串相互转换示例
Dec 30 PHP
php和jquery实现地图区域数据统计展示数据示例
Feb 12 PHP
PHP 函数call_user_func和call_user_func_array用法详解
Mar 02 PHP
本地计算机无法启动Apache故障处理
Aug 08 PHP
PHP中上传多个文件的表单设计例子
Nov 19 PHP
YiiFramework入门知识点总结(图文教程)
Dec 28 PHP
win7安装php框架Yii的方法
Jan 25 PHP
Yii 2.0在Grid中格式化时间方法示例
Jun 06 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
Jun 17 PHP
php实现websocket实时消息推送
Mar 30 PHP
PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】
Feb 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
杏林同学录(八)
2006/10/09 PHP
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
2014/05/04 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
php实现的SESSION类
2014/12/02 PHP
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
php cli配置文件问题分析
2015/10/15 PHP
PHP实现cookie跨域session共享的方法分析
2019/08/23 PHP
基于JQuery 的消息提示框效果代码
2011/07/31 Javascript
ajax异步刷新实现更新数据库
2012/12/03 Javascript
使用jQuery.fn自定义jQuery翻页插件
2013/01/20 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
JavaScript子类用Object.getPrototypeOf去调用父类方法解析
2013/12/05 Javascript
jQuery读取XML文件内容的方法
2015/03/09 Javascript
javascript实现table选中的行以指定颜色高亮显示的方法
2015/05/13 Javascript
学习javascript面向对象 javascript实现继承的方式
2016/01/04 Javascript
Nodejs 发送Post请求功能(发短信验证码例子)
2017/02/09 NodeJs
详解Vue2 无限级分类(添加,删除,修改)
2017/03/07 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
vue draggable resizable gorkys与v-chart使用与总结
2019/09/05 Javascript
深度剖析使用python抓取网页正文的源码
2014/06/11 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
python特性语法之遍历、公共方法、引用
2018/08/08 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
HTML5 embed标签定义和用法详解
2014/05/09 HTML / CSS
澳大利亚波希米亚风时尚品牌:Tree of Life
2019/09/15 全球购物
设计师大码女装:11 Honoré
2020/05/03 全球购物
意大利辅助药品、药物和补品在线销售:FarmaEurope
2020/04/29 全球购物
什么是Assembly(程序集)
2014/09/14 面试题
国贸专业个人求职信范文
2014/01/08 职场文书
探矿工程师自荐信
2014/01/24 职场文书
销售团队激励口号
2014/06/06 职场文书
119消防日活动总结
2014/08/29 职场文书
2014年护士工作总结范文
2014/11/11 职场文书
六一文艺汇演主持词
2015/06/30 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server