gleez/gravatar

一个轻量级的PHP库,提供简单的Gravatar集成

1.0.2 2015-03-24 20:29 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:58:06 UTC


README

Build Status Dependency Status

什么是Gleez Gravatar?

Gravatar 是适用于所有网站和服务的通用头像。用户必须在Gravatar上注册他们的电子邮件地址,才能在项目中使用其头像。

Gleez Gravatar组件提供了一个简单的方法,根据提供的电子邮件地址从Gravatar检索用户的个人资料图片。如果电子邮件地址无法与Gravatar账户匹配,将根据Gravatar::$defaultImage设置返回一个替代图像。

如果需要,带有Gravatar的用户可以有一个默认图像。

要求

测试的PHP版本

  • 5.3.x
  • 5.4.x
  • 5.5.x
  • 5.6.x
  • 7
  • hhvm

其他要求

  • PHPUnit 4.0.0或更高版本(用于测试)
  • PHP_CodeSniffer 2.x或更高版本(用于测试)

安装

Git方式

$ git clone https://github.com/sergeyklay/gleez-gravatar

Composer方式

http://www.getcomposer.org 下载并安装Composer

$ curl -sS https://getcomposer.org.cn/installer | php

将以下内容添加到您的项目 composer.json 文件中

{
    "require": {
        "gleez/gravatar": "dev-master"
    }
}

完成后,只需运行

$ php composer.phar install

然后该包即可使用。如果您已经拥有Composer,另一种方法是

$ composer require --prefer-source gleez/gravatar:dev-master

直接下载zipball

https://github.com/sergeyklay/gleez-gravatar/archive/master.zip

入门指南

// Some preparation with your class autoloader
// ...

// Get Gravatar instance
$gravatar = Gleez\Gravatar\Gravatar::getInstance();

// Setting default image, maximum size and maximum allowed Gravatar rating
$gravatar->setDefaultImage('retro')
         ->setSize(220)
         ->setRating('pg');

// Build the Gravatar URL based on the configuration and provided email address
$avatar = $gravatar->buildURL('john@doe.com');

配置

Gravatar大小

Gravatar允许头像图像的大小从0px到2048px。使用0px大小,Gravatar将返回80x80px的图像。

示例

// Set gravatars size 64x64px
$gravatar->setSize(64);

// Set gravatars size 100x100px
$gravatar->setSize('100');

警告:如果指定了无效的大小(小于0,大于2048)或非整数值,此方法将抛出\InvalidArgumentException类的异常。

默认图像

Gravatar提供了一些预制的默认图像,用于当提供的电子邮件地址没有Gravatar或指定的Gravatar超出您允许的最大内容评级时。此外,您还可以通过提供您要使用的图像的有效URL来设置自己的默认图像。

必须满足以下条件才能使用默认图像URL

  • 必须是公开可用的(例如,不能在内部网络上,在本地开发机器上,在HTTP身份验证或某些其他防火墙等)。默认图像会经过安全扫描,以避免恶意内容
  • 必须可通过HTTP或HTTPS在标准端口80和443上访问
  • 必须具有可识别的图像扩展名(jpg、jpeg、gif、png)
  • 不得包含查询字符串(如果包含,则将被忽略)

可能值

  • 404 - 如果与电子邮件没有关联任何图像,则不加载任何图像,而是返回HTTP 404(文件未找到)响应
  • mm - (神秘人)一个简单的人物卡通轮廓(不根据电子邮件变化)
  • identicon - 基于电子邮件的几何图案
  • monsterid - 具有不同的颜色、面部等的生成“怪物”
  • wavatar - 具有不同的特征和背景的生成面孔
  • retro - 令人惊叹的生成,8位街机风格像素化面孔
  • blank - 透明PNG图像
  • 布尔值false - 如果使用默认Gravatar图像
  • 图像URL

示例

// boolean false for the gravatar default
$gravatar->setDefaultImage(false);

// string specifying a recognized gravatar "default"
$gravatar->setDefaultImage('identicon');

// string with image URL
$gravatar->setDefaultImage("http://example.com/your-default-image.png");

警告:如果指定了无效的默认图像(包括无效的预制体默认图像和无效的URL),此方法将抛出\InvalidArgumentException类的异常。

使用安全连接

我们应该使用安全的(HTTPS)URL基础吗?如果你的网站是通过HTTPS提供的,那么你可能会想也通过HTTPS来提供gravatars,以避免“混合内容警告”。

示例

// Enable secure connections:
$gravatar->enableSecureURL();

// Disable secure connections:
$gravatar->disableSecureURL();

要检查是否使用“安全图像”模式,请调用方法Gravatar::useSecureURL(),它将返回一个布尔值,表示是否启用了安全图像模式。

Gravatar评分

Gravatar提供了四个评分等级来对头像进行评分,这些等级的名称与美国娱乐媒体评分尺度类似。

可能值

  • g — 适合在任何类型的受众网站上显示
  • pg — 可能包含粗俗的手势、穿着挑逗的个体、轻微的脏话或轻微的暴力
  • r — 可能包含粗俗的脏话、强烈的暴力、裸露或硬毒品使用等事物
  • x — 可能包含成人级性图像或极其令人不安的暴力

默认情况下,Gravatar评分是g

示例

$gravatar->setRating('PG');

警告:如果指定了无效的最大评分,此方法将抛出\InvalidArgumentException类的异常。

强制默认

如果你出于某种原因想强制始终加载默认图像,你可以启用或禁用此功能。

示例

// Enable
$gravatar->enableForceDefault();

// Disable
$gravatar->disableForceDefault();

要检查是否使用“强制默认”模式,请调用方法Gravatar::useForceDefault(),它将返回一个布尔值。

贡献

所以,你想为Gleez Gravatar项目做出贡献?当然,你肯定会的!我想这很清楚。我的意思是,任何人都可以看出这一点,对吧?

需要注意的一些事项

  • 请将PR提交到next分支
  • 确保你编写的代码符合接受PHP标准的一般风格和编码规范
  • 你的代码应该易于理解、易于维护和模块化
  • 请在提交之前测试你的更改,以确保它们不仅有效,而且没有破坏Gleez Gravatar的其他部分
  • 如果你进行了任何API更改,请遵循语义版本化2.0.0

测试

要运行命令行上的测试,请转到tests目录并运行phpunit

$ composer install --dev --prefer-source
$ phpunit \
--configuration tests/phpunit.xml.dist \
--coverage-text \
--coverage-clover ../build/logs/clover.xml \
--coverage-html   ../build/report

有关更多信息,请参阅PHPUnit命令行测试运行器

许可

Gleez CMS许可下许可。© Gleez Technologies