利用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 相关文章推荐
memcached 和 mysql 主从环境下php开发代码详解
May 16 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
Sep 23 PHP
php的数组与字符串的转换函数整理汇总
Jul 18 PHP
php header功能的使用
Oct 28 PHP
PHP生成随机字符串(3种方法)
Sep 25 PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
Feb 03 PHP
windows server 2008/2012安装php iis7 mysql环境搭建教程
Jun 30 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
Jul 16 PHP
PHP多进程编程实例详解
Jul 19 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
Apr 16 PHP
laravel 配置路由 api和web定义的路由的区别详解
Sep 03 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
May 12 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
德生9700DX电路分析
2021/03/02 无线电
APMServ使用说明
2006/10/23 PHP
php设计模式 Builder(建造者模式)
2011/06/26 PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
2014/09/22 PHP
php实现httpRequest的方法
2015/03/13 PHP
新浪微博OAuth认证和储存的主要过程详解
2015/03/27 PHP
PHP MSSQL 分页实例
2016/04/13 PHP
使用php完成常见的文件上传功能(推荐)
2017/01/13 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
AppBaseJs 类库 网上常用的javascript函数及其他js类库写的
2010/03/04 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
js展开闭合效果演示代码
2013/07/24 Javascript
iframe里使用JavaScript控制主页转向的方法
2015/04/03 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
2016/04/29 Javascript
javascript作用域、作用域链(菜鸟必看)
2016/06/16 Javascript
AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
2017/01/19 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
2018/08/16 Javascript
javascript动态创建对象的属性详解
2018/11/07 Javascript
WebGL学习教程之Three.js学习笔记(第一篇)
2019/04/25 Javascript
利用Angular7开发一个Radio组件的全过程
2019/07/11 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
2020/04/25 Javascript
详细分析Node.js 模块系统
2020/06/28 Javascript
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
python判断端口是否打开的实现代码
2013/02/10 Python
Python查找两个有序列表中位数的方法【基于归并算法】
2018/04/20 Python
python定向爬虫校园论坛帖子信息
2018/07/23 Python
如何利用Python模拟GitHub登录详解
2019/07/15 Python
Pandas实现dataframe和np.array的相互转换
2019/11/30 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
利用Python脚本批量生成SQL语句
2020/03/04 Python
如何对python的字典进行排序
2020/06/19 Python
联想韩国官网:Lenovo Korea
2018/05/10 全球购物
迪士尼西班牙官方网上商店:ShopDisney西班牙
2020/02/02 全球购物
研究生简历自我评价范文
2014/09/13 职场文书
CSS控制继承中的height能变为可继承吗
2022/06/10 HTML / CSS