fastre / libravatar-bundle
Libravatar在Symfony中的简单实现
dev-master
2013-09-07 10:29 UTC
Requires
- symfony/symfony: >=2.1
Requires (Dev)
- symfony/symfony: >=2.1
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'选项。