fastre/libravatar-bundle

Libravatar在Symfony中的简单实现

dev-master 2013-09-07 10:29 UTC

This package is auto-updated.

Last update: 2024-09-08 07:28:48 UTC


README

此扩展为您的Symfony Web应用提供了对[Libravatar服务](https://www.libravatar.org/)的支持。

Libravatar是Gravatar的开源替代品,提供更多功能和隐私尊重。

该服务是联邦化的,每个人都可以运行自己的服务实例。DNS记录指示应使用哪个libravatar实例来显示头像图片。

此扩展是实现Melissa Draper的PEAR包(http://pear.php.net/package/Services_Libravatar/)。它查询DNS记录,并使用记录结果组成头像URL。

安装

"fastre/libravatar-bundle": "dev-master" 添加到您的composer.json文件的要求部分,如下所示

    "require": {
        "fastre/libravatar-bundle": "*@dev"
    }

然后,将扩展添加到您的AppKernel文件

class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            //...
            new Fastre\LibravatarBundle\FastreLibravatarBundle(),
        );

        // etc.

        return $bundles;
    }

用法

在您的脚本中调用Libravatar的服务并使用该方法

$libravatarService = $container->get('libravatar.provider');

$avatarUrl = $libravatarService->getUrl('email@example.com');

(在一个控制器中,您可以通过 $this->get('libravatar.provider'); 调用服务)。

一些选项可用于改进URL

  • 'https'(布尔值)
  • 'algorithm'(字符串 'md5''sha512'
  • 'size'(整数)
  • 'default'用于默认图像
    • "404" - 用"404 文件未找到"代替图像
    • "mm"
    • "identicon"
    • "monsterid"
    • "wavata"

示例

$libravatarService = $container->get('libravatar.provider');

$options = array('https' => true, 'algorithm' => 'sha512', 'size' => 200);

$avatarUrl = $libravatarService->getUrl('email@example.com', $options);

进一步开发

  • 我计划使用PHP-APC来提高扩展的速度,并避免重复DNS查询。

  • 我正在考虑用symfony内核的方案替换'https'选项。