nicolas-gille/gravatar-lib

一个简单的库,用于在应用程序中集成Gravatar服务。

v1.0 2017-09-12 15:28 UTC

This package is not auto-updated.

Last update: 2024-09-25 01:26:53 UTC


README

Gravatar Lib 是一个用于帮助在应用程序中集成 Gravatar 服务的库。

要求

  • PHP 7.0.0 或更高版本。
  • hash() 函数必须可用,同时需要 md5 算法。

用法

安装

您可以使用 composer 安装 Gravatar Lib,执行以下命令:$ composer require nicolas-gille/gravatar-lib 您也可以直接从 Github 克隆或下载源代码,并在您的应用程序上安装它。

通用示例

<?php
    // Includes sources or use autoloader to load directly the class.
    include_once('includes/gravatar-lib/src/Gravatar/Gravatar.php');

    // Create an instance of Gravatar with default value.
    $gravatar = new GravatarLib\Gravatar\Gravatar();

    // Set size and rating like this or use it directly on constructor.
    $gravatar->setSize(160);
    $gravatar->setMaxRating('pg');

    // Generate uri to show avatar.
    $uri = $gravatar->getUri('mail@domain.com');

    // Display it.
    echo '<img src="' . $uri . '" alt="Gravatar\'s image">';

设置头像大小。

Gravatar 提供更改您头像大小的功能。默认情况下,Gravatar 提供的大小为 80 像素,但您可以将它扩展到 2048 像素。要更新头像大小,请使用方法 GravatarLib\Gravatar\Gravatar->setSize(int)

以下是一个设置头像大小的示例

    $gravatar->setSize(160);

注意
如果您超过最大值或最小值,此方法将抛出 \InvalidArgumentException 异常,并显示消息 大小必须在 0 到 2048 之间

设置默认图片。

Gravatar 为没有上传头像的人提供了几个默认头像。然后,您可以使用这些方法 GravatarLib\Gravatar\Gravatar->setDefaultImage(string) 来更改默认图片。Gravatar 提供的默认值包括:'404', 'mm', 'identicon', 'monsterid', 'retro', 'wavatar' 和 'blank'。

另一种设置默认图片的方法是在方法的参数中发送正确的 uri 来获取图片,而不是使用 Gravatar 提供的默认值。

要使用您自己的头像,您可以在构造函数中不设置默认值来使用您的头像。

以下是一个设置默认图片的示例

    $gravatar->setDefaultImage('blank'); // with default value.
    $gravatar->setDefaultImage('http://my-website/my-avatar.jpg'); // with url.
    $gravatar->setDefaultImage(''); // Cannot use default image.

注意
如果您发送无效的 URL 或不包含在 Gravatar API 中的字符串,此方法将抛出 \InvalidArgumentException 异常,并显示消息 指定的默认图片不是一个有效的 URL 或 Gravatar 中的默认值。

设置图片评级

使用 Gravatar,您可以阻止某些类型的内容,如美国的 ESRB 或欧洲的 PEGI。然后,如果您阻止特定的头像,您可以使用方法 GravatarLib\Gravatar\Gravatar->setMaxRating(string) 在您的应用程序中设置允许的最大评级。此方法允许的默认值是:'g', 'pg', 'r', 'x'。

以下是一个设置最大评级的示例

    $gravatar->setMaxRating('g');

注意
如果您发送一个与有效值不同的字符串,此方法将抛出 \InvalidArgumentException 异常,并显示消息 指定的评级无效。请使用 "g","pg","r" 或 "x" 值。

设置安全 uri。

实际上,Gravatar 提供两种方式来获取图片,分别是在 HTTP 和 HTTPS 中。默认情况下,库通过 HTTP 加载图片,但如果您愿意,您可以使用方法 GravatarLib\Gravatar\Gravatar->setSecureUri(bool) 来更改此方法。

    $gravatar->setSecureUri(true); // Use HTTPS instead of HTTP.

强制默认图片

您可以为连接到您的应用程序的每个人强制使用默认图片。要强制使用默认图片,请使用方法 GravatarLib\Gravatar\Gravatar->setForceDefaultImage(bool)

    $gravatar->setForceDefaultImage(true); // Force all people to show default image instead of account avatar.

Twig 集成

您可以将此库轻松集成到使用 Twig 构建的项目中。实际上,要集成库,请使用 Twig_Environment 对象,并将其作为全局属性添加到其中。

<?php
    // Includes sources or use autoloader to load directly the class.
    include_once('includes/gravatar-lib/src/Gravatar/Gravatar.php');
    
    // Create an instance of Gravatar with default value.
    $gravatar = new GravatarLib\Gravatar\Gravatar();

    // ... do whatever you want with your settings here
    
    // here, we will assume $twig is an already-created instance of Twig_Environment
    $twig->addGlobal('gravatar', $gravatar);

然后,要将其用于模板,您必须调用对象 gravatar,使用方法 gravatar.uri(email) 来显示头像。

    <img alt="{{ app.user.username }}'s avatar" src="{{ gravatar.uri(app.user.email)|raw }}">

在上面的示例中,app.user.usernameapp.user.email 分别包含用户的用户名和电子邮件。

许可证

本项目采用MIT许可证。

作者