一个专业生成 Gravatar 头像地址的 Laravel 扩展包

Gravatar

生成 Gravatar 头像地址,支持任意版本的 Laravel 或 Lumen 应用。

项目主页: https://github.com/ElfSundae/laravel-grava...

安装: composer require elfsundae/laravel-gravatar

使用: 只有一个全局函数: gravatar()

/**
 * Generate Gravatar URL for the given email address.
 *
 * @param  string  $email
 * @param  int|string|null  $size
 * @param  string|null  $default
 * @param  string|null  $rating
 * @return string
 */
gravatar($email, $size = null, $default = null, $rating = null)

配置(可选):

config/services.php 中添加一个 gravatar 数组:

'gravatar' => [
    'url' => 'https://gravatar.cat.net/avatar',
    'size' => '120',
    'default' => 'identicon',
    'rating' => 'pg',
],

因为那啥,Gravatar 在国内无法访问,所以这个包可以很方便的配置国内镜像。在配置文档里有两个现成的国内 CDN 反代镜像。

:point_right: Laravel 官网镜像 :cn:
本帖已被设为精华帖!
附言 1  ·  6年前

:tada: v2 版已发布,支持更好的多连接配置模式,不再 hardcode 图片尺寸等参数。

本帖由 Summer 于 6年前 加精
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 6

源码:

function gravatar($email, $size = null, $default = null, $rating = null)
{
    foreach ($parameters = ['size', 'default', 'rating'] as $param) {
        if (is_null($$param)) {
            $$param = config('services.gravatar.'.$param);
        }
    }

    $query = http_build_query(array_filter(compact($parameters)));

    $url = config('services.gravatar.url');
    $url = empty($url) ? 'https://secure.gravatar.com/avatar' : rtrim($url, '/');

    return $url.'/'.md5(strtolower(trim($email))).(empty($query) ? '' : '?').$query;
}
6年前 评论

@ElfSundae 这个源码... 我恶补了源码、反码、补码、位运算(然而还是没看懂) ?

6年前 评论

@ElfSundae 不是 有一些知识点一直没接触过,查了一会文档 源码很棒!

6年前 评论

之前想用的 GFW的原因用了其他的

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!