利用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 相关文章推荐
对javascript和select部件的结合运用
Oct 09 PHP
PHP调用Twitter的RSS的实现代码
Mar 10 PHP
php中一个有意思的日期逻辑处理
Mar 25 PHP
PHP数据集构建JSON格式及新数组的方法
Nov 07 PHP
基于PHP5魔术常量与魔术方法的详解
Jun 13 PHP
Yii2.0 Basic代码中路由链接被转义的处理方法
Sep 21 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
Dec 05 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
Apr 15 PHP
PHP获取文本框、密码域、按钮的值实例代码
Apr 19 PHP
php面向对象的用户登录身份验证
Jun 08 PHP
PHP实现腾讯与百度坐标转换
Aug 05 PHP
laravel 解决Validator使用中出现的问题
Oct 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
PHP XML操作的各种方法解析(比较详细)
2010/06/17 PHP
php后退一页表单内容保存实现方法
2012/06/17 PHP
PHP大批量插入数据库的3种方法和速度对比
2014/07/08 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
2016/03/23 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
2020/12/16 PHP
改版了网上的一个js操作userdata
2007/04/27 Javascript
JavaScript 组件之旅(二)编码实现和算法
2009/10/28 Javascript
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
js 日期比较相关天数代码
2014/04/02 Javascript
js 设置缓存及获取设置的缓存
2014/05/08 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
2015/09/24 Javascript
jQuery中fadein与fadeout方法用法示例
2016/09/16 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
JS实现获取进今年第几天是周几的方法分析
2018/06/27 Javascript
富文本编辑器vue2-editor实现全屏功能
2019/05/26 Javascript
d3.js实现图形拖拽
2019/12/19 Javascript
[01:54]TI珍贵瞬间系列(五):压力
2020/08/29 DOTA
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
python刷投票的脚本实现代码
2014/11/08 Python
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
详细讲解用Python发送SMTP邮件的教程
2015/04/29 Python
Python实现合并字典的方法
2015/07/07 Python
详解Python中的变量及其命名和打印
2016/03/11 Python
Python 字符串大小写转换的简单实例
2017/01/21 Python
Tensorflow中的placeholder和feed_dict的使用
2018/07/09 Python
python3.6编写的单元测试示例
2019/08/17 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
如何在Python 游戏中模拟引力
2020/03/27 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
2020/05/11 Python
python 瀑布线指标编写实例
2020/06/03 Python
美国最大的珠宝首饰网上商城:Jewelry.com
2016/07/22 全球购物
Lulu & Georgia官方网站:购买地毯、家具、抱枕、壁纸、床上用品等
2018/03/19 全球购物
装修施工安全责任书
2014/07/24 职场文书
2014年国庆节寄语
2014/09/19 职场文书
财政局党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
2016年中秋节寄语大全
2015/12/07 职场文书