当前位置:首页 > CMS教程 > 其它CMS > 列表

利用Laravel生成Gravatar头像地址的优雅方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-08-26 09:54:18 浏览: 评论:0 

Gravatar是一图像跟随著您到访过的网站,当您在博客中留言或发表文章,它将会出现在您的名称旁。下面这篇文章主要给大家介绍了关于利用Laravel如何生成 Gravatar 头像地址的优雅方法,需要的朋友可以参考下。

前言

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 。

配置示例:

  1. 'default' => [ 
  2.  'url' => 'https://gravatar.cat.net/avatar'
  3.  'size' => 120, 
  4. ], 
  5. 'small' => [ 
  6.  'url' => 'https://gravatar.cat.net/avatar'
  7.  'size' => 40, 
  8. ], 
  9. 'large' => [ 
  10.  'url' => 'https://gravatar.cat.net/avatar'
  11.  'size' => 460, 
  12. ], 

API

只有一个全局帮助函数: gravatar()

  1. /** 
  2.  * Generate Gravatar avatar URL for the given email address. 
  3.  * 
  4.  * @param string $email Email or email hash 
  5.  * @param string|int $connection Connection name or image size 
  6.  * @param string|int $size Connection name or image size 
  7.  * @return string 
  8.  */ 
  9. function gravatar($email$connection = 'default'$size = null) 

使用示例

  1. // 为 email 生成头像地址,使用 "default" 连接配置 
  2. gravatar('foo@example.com'); 
  3. // 为 email 的 MD5 哈希值生成头像地址,使用 "default" 连接配置 
  4. gravatar('b48def645758b95537d4424c84d1a9ff'); 
  5. // 使用 "large" 连接配置 
  6. gravatar($email'large'); 
  7. // 使用 "default" 连接配置,并覆盖 size 参数为 100 
  8. gravatar($email, 100); 
  9. // 使用 "avatar" 连接配置,并覆盖 size 参数为 100 
  10. gravatar($email'avatar', 100); 
  11. // 或者: 
  12. gravatar($email, 100, 'avatar');

Tags: Laravel Gravatar

分享到: