phalcon/incubator-avatar

Phalcon孵化器头像适配器

v1.0.0 2020-10-14 22:02 UTC

This package is auto-updated.

Last update: 2024-09-19 22:20:04 UTC


README

Discord Packagist Version PHP from Packagist codecov Packagist

此处适配器的使用示例

Gravatar

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

入门

通过setter设置

use Phalcon\Incubator\Avatar\Gravatar;

$di->setShared(
    'gravatar',
    function () {
        // Get Gravatar instance
        $gravatar = new Gravatar(
            []
        );

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

        return $gravatar;
    }
);

通过配置设置

use Phalcon\Incubator\Avatar\Gravatar;

// Config must be either an array or \Phalcon\Config instance
$config = [
    'default_image' => 'mm',
    'rating'        => 'x',
    'size'          => 110,
    'use_https'     => true,
];

$di->setShared(
    'gravatar',
    function () use ($config) {
        // Get Gravatar instance
        $gravatar = new Gravatar($config);

        return $gravatar;
    }
);

使用

// Get the Gravatar service from DI
$gravatar = $this->getDi()->getShared('gravatar');

// Build the Gravatar URL based on the configuration and provided email address
echo $gravatar->getAvatar('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提供gravatar,以避免“混合内容警告”。

示例

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

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

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

Gravatar评级

Gravatar提供了四个评级等级,用于评级头像,这些等级名称与美国娱乐媒体评级尺度类似。

可能的值

  • Gravatar::RATING_G — 适用于任何观众类型的所有网站
  • Gravatar::RATING_PG — 可能包含粗鲁的手势、挑衅性的着装、轻微的脏话或轻微的暴力
  • Gravatar::RATING_R — 可能包含如粗俗的脏话、激烈的暴力、裸露或硬性药物使用等内容
  • Gravatar::RATING_X — 可能包含成人级性图像或极其令人不安的暴力内容

默认情况下,Gravatar的评级是 Gravatar::RATING_G

示例

$gravatar->setRating(
    Gravatar::RATING_PG
);

如果指定了无效的最高评级,此方法将抛出类 \InvalidArgumentException 的异常。

强制默认

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

示例

// Enable
$gravatar->enableForceDefault();

// Disable
$gravatar->disableForceDefault();

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